T-SQL 代码:
SELECT iCarrierInvoiceDetailsID, [1],[2],[3]
FROM [GroundEDI].[dbo].[tblCarrierInvoiceDetails]
PIVOT(MAX(dTotalCharge) FOR iCarrierInvoiceHeaderID IN ([1],[2],[3]))AS P
错误:
消息102,级别15,状态1,第3行
附近有括号不正确。
你知道我为什么会收到这个错误吗?
T-SQL 代码:
SELECT iCarrierInvoiceDetailsID, [1],[2],[3]
FROM [GroundEDI].[dbo].[tblCarrierInvoiceDetails]
PIVOT(MAX(dTotalCharge) FOR iCarrierInvoiceHeaderID IN ([1],[2],[3]))AS P
错误:
消息102,级别15,状态1,第3行
附近有括号不正确。
你知道我为什么会收到这个错误吗?
看起来你试图直接从表本身选择枢轴列而不是枢轴。你需要像这样做:
SELECT p.[1],p.[2],p.[3]
FROM
(SELECT iCarrierInvoiceHeaderID
,dTotalCharge
FROM [GroundEDI].[dbo].[tblCarrierInvoiceDetails]) t
PIVOT(MAX(dTotalCharge) FOR iCarrierInvoiceHeaderID IN ([1],[2],[3])
)AS P;
iCarrierInvoiceHeaderID
列中的值,因此在选择它们之前需要对它们进行透视。也许我不知道是否可能像您现在这样直接从表中选择。至于兼容性级别,请查看此链接https://dev59.com/LHvaa4cB1Zd3GeqPKPoD - FutbolFan