【问题标题】:Pivot with join与联接枢轴
【发布时间】:2013-10-19 02:41:23
【问题描述】:
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

Inner join a SQL Pivot table

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

谢谢

【问题讨论】:

    标签: sql join syntax pivot


    【解决方案1】:

    你有SUM(SUM(X) - SUM(Y)),这可以简化为SUM(X) - SUM(Y)。但是,我不相信PIVOT 支持这种简单的表达方式;您需要在内部查询中这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多