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;
此查询似乎不会为我运行。每次都有相同的语法错误。
“Msg 102,Level 15,State 1,Line 12 '('。“
附近的语法不正确以下是我引用的一些资源:
http://technet.microsoft.com/en-us/library/ms177410(v=sql.105).aspx
如果您有任何想法,请告诉我们。
谢谢
答案 0 :(得分:0)
您有SUM(SUM(X) - SUM(Y))
,可以简化为SUM(X) - SUM(Y)
。但是,我不相信PIVOT
支持这样一个简单的表达;你需要在你的内部查询中这样做。