PIVOT 不工作 ')' 附近的语法不正确
PIVOT not working Incorrect syntax near ')'
T-SQL代码:
SELECT iCarrierInvoiceDetailsID, [1],[2],[3]
FROM [GroundEDI].[dbo].[tblCarrierInvoiceDetails]
PIVOT(MAX(dTotalCharge) FOR iCarrierInvoiceHeaderID IN ([1],[2],[3]))AS P
错误:
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near ')'.
知道我为什么会收到此错误吗?
看起来您正试图直接从 table 本身而不是枢轴 select 枢轴列。您将需要执行以下操作:
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;
T-SQL代码:
SELECT iCarrierInvoiceDetailsID, [1],[2],[3]
FROM [GroundEDI].[dbo].[tblCarrierInvoiceDetails]
PIVOT(MAX(dTotalCharge) FOR iCarrierInvoiceHeaderID IN ([1],[2],[3]))AS P
错误:
Msg 102, Level 15, State 1, Line 3
Incorrect syntax near ')'.
知道我为什么会收到此错误吗?
看起来您正试图直接从 table 本身而不是枢轴 select 枢轴列。您将需要执行以下操作:
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;