PIVOT不工作')'附近的语法不正确

时间:2021-06-27 23:14:48

T-SQL code:

T-SQL代码:

SELECT iCarrierInvoiceDetailsID, [1],[2],[3]
FROM [GroundEDI].[dbo].[tblCarrierInvoiceDetails]
PIVOT(MAX(dTotalCharge) FOR iCarrierInvoiceHeaderID IN ([1],[2],[3]))AS P

Error:

错误:

Msg 102, Level 15, State 1, Line 3
Incorrect syntax near ')'.

消息102,级别15,状态1,行3'''附近的语法不正确。

Any idea why I am getting this error?

知道我为什么会收到这个错误吗?

1 个解决方案

#1


2  

It looks like you are trying to directly select the pivot columns from the table itself and not the pivot. You will need to do something like this:

看起来您正在尝试直接从表本身而不是枢轴中选择枢轴列。你需要做这样的事情:

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;

#1


2  

It looks like you are trying to directly select the pivot columns from the table itself and not the pivot. You will need to do something like this:

看起来您正在尝试直接从表本身而不是枢轴中选择枢轴列。你需要做这样的事情:

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;