You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

T-SQL实现多行转多列单行:PIVOT语法使用报错求解决

语法错误说明

  • T-SQL的PIVOT语法中,FOR关键字后指定的待转列取值是目标列的标识符,不能使用单引号包裹,需要替换为方括号[]。

正确实现代码

SELECT *
FROM
    (SELECT CompanyName, Price, Project
     FROM dbo.MyTable) src
PIVOT
    (SUM(Price)
        FOR Project IN ([Cleaning], [Vaccuming], [Painting], [VendingMachines], [Wallpapers], [Carpeting])
    ) piv;

结果说明

执行上述代码后会输出1行数据,CompanyName列为Dell,后续Cleaning、Carpeting等各个项目列的值对应该项目的Price取值。如果业务场景中存在同公司同项目多条记录的情况,可以根据需求将聚合函数SUM替换为MAX、AVG等适配业务逻辑。

内容的提问来源于stack exchange,提问作者UnskilledCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:18:02