【问题标题】:MSSQL PIVOT - Incorrect syntax. Expecting ID or QUOTED_IDSQL PIVOT - 语法不正确。期望 ID 或引用 ID
【发布时间】:2021-08-13 14:46:55
【问题描述】:

以下代码

select orgUnitNum,  [2020-12-25], [2020-12-26], [2020-12-27], [2020-12-28], [2020-12-29], [2020-12-30], [2020-12-31], [2021-01-01] 
FROM (select * from @myTable) as source 
PIVOT (
    max(logincount)
    FOR [logindate] IN ( [2020-12-25], [2020-12-26], [2020-12-27], [2020-12-28], [2020-12-29], [2020-12-30], [2020-12-31], [2021-01-01])
) as pivot;

正在产生以下错误:

'pivot' 附近的语法不正确。需要 ID 或 QUOTED_ID。

出于善意,我没有看到任何语法错误。

你能发现什么吗?

【问题讨论】:

  • 这就是为什么使用Reserved Keywords 作为对象名称/别名是个坏主意。

标签: sql-server pivot


【解决方案1】:

您用作表别名的第二个“枢轴”是问题所在。应该使用非关键字作为表别名,或将其分隔为[pivot]

select orgUnitNum,  [2020-12-25], [2020-12-26], [2020-12-27], [2020-12-28], [2020-12-29], [2020-12-30], [2020-12-31], [2021-01-01] 
FROM (select * from @myTable) as source 
PIVOT (
    max(logincount)
    FOR [logindate] IN ( [2020-12-25], [2020-12-26], [2020-12-27], [2020-12-28], [2020-12-29], [2020-12-30], [2020-12-31], [2021-01-01])
) as pivoted;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    相关资源
    最近更新 更多