0
select 'Total' as PPT_TMT,    
[Lastname1], [Lastname2], [Lastname3], [Lastname4], [Lastname5]    
from    
     (   
     select u.Lastname, o.PriceTotal, o.MarginTotal   
     from dbo.Orders o join dbo.[User] u on o.UserID = u.UserID  
     where UserID in (393, 455, 496, 530, 531)  
     and CompletedDate > dateadd(m, -1, GETDATE())  
     ) AS SourceCode  
PIVOT  
(  
     SUM(SUM(o.PriceTotal) - SUM(o.MarginTotal))   
     FOR Lastname IN ([Lastname1], [Lastname2], [Lastname3], [Lastname4], [Lastname5])  
) AS Gain; 

这个查询似乎不会为我运行。每次都有相同的语法错误。

“消息 102,级别 15,状态 1,第 12 行 '(' 附近的语法不正确。”

以下是我参考的一些资源:

http://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx

内部联接 SQL 数据透视表

如果您有任何想法,请告诉我!

谢谢

4

1 回答 1

0

你有SUM(SUM(X) - SUM(Y)),这可以简化为SUM(X) - SUM(Y)。但是,我认为PIVOT连这么简单的表达都不支持;你需要在你的内部查询中这样做。

于 2013-10-18T18:41:23.453 回答