2016-08-03 145 views
0

我有SQL语法像这样SQL CX,这是什么意思

WITH cx (Policy_Number,Claim_Incurred) 

    AS (

    SELECT PolicyNo 

     ,SUM(ReservedAmt + PaidAmt - SalvageAmt + ReservedExp + PaidExp - SalvageExp) 

    FROM eInsurance.dbo.Claim 

    GROUP BY PolicyNo 

) 

或像这样

REFERENCE.dbo.FXRate fx 
    JOIN eInsurance.dbo.PolicyM pm 
     ON fx.currency = pm.PRCurrency 
    LEFT JOIN cx 
     ON pm.PolicyNo = cx.Policy_Number 
    JOIN eInsurance.dbo.Account acc 
     ON pm.AccCode = acc.AccCode 
    JOIN eInsurance.dbo.AccTypeList atl 
     ON acc.AccType = atl.TypeCode 

那么,是什么CX在其语法意味着..?

+1

这被称为“公用表表达式”。基本上它就像一个子查询,可以在随后的查询中引用。所以'cx'是它包含的查询的别名。 – sgeddes

回答

1

cx被称为公用表表达式,通常称为CTE。

您可以将其视为数据的临时视图,仅针对单个查询定义。您可以将cx替换为with子句中的定义。