首页 > 解决方案 > CTE - '.' 附近的语法不正确

问题描述

这是我的代码:

  With table_CTE(a.PolicyNumber, Amount, 
b.PolicyNumber, FundValue)
 as
(
Select a.PolicyNumber, Amount,
b.PolicyNumber, FundValue
    from ( Select PolicyNumber, Amount, 
    from table.a
       ) as a
    
    Full Outer Join
        (Select PolicyNumber, FundValue
        from table.b
       ) as b
        on
    a.PolicyNumber = b.PolicyNumber
)

我正在尝试创建 CTE 语句,但不断收到错误消息:“'.' 附近的语法不正确。”

标签: sqlsql-server

解决方案


列名不支持句点。也许您打算:

With table_CTE (PolicyNumber, InvestmentCode, IndexType, Amount, FundID, 
PolicyNumber, FundValue, DepositDate, FundID, [Difference])

也就是说,您不必在 CTE 定义中重复列别名。它们都分配在 中select,您可以使用:

with table_CTE as (
    select . . .

推荐阅读