【问题标题】:Total field in Crosstab query in SQL Server 2008SQL Server 2008 中交叉表查询中的总计字段
【发布时间】:2012-06-20 15:21:55
【问题描述】:

bluefeet给出的答案我得到了这个结果

Equipt  BSL    AQ
TFP     3      2
TM      1      0
VCB     18     6
VCD     5      8

查询脚本是

 SELECT  Equipt, [BSL] AS BSL, [AQ] AS AQ 
 FROM 
 ( 
 SELECT Equipt, Shed 
 FROM PunctualityMain WHERE Date >= '4/1/2012' AND Date <= '4/30/2012' AND classification    = 'Loco' 
) x
PIVOT 
( 
COUNT(Shed) 
FOR Shed IN ([BSL], [AQ])
)  p 

是否可以在上面的脚本中添加一个总字段,如访问交叉表

Equipt  BSL    AQ     TTL
TFP     3      2     5
TM      1      0     1
VCB     18     6     24
VCD     5      8     13

【问题讨论】:

    标签: sql-server pivot crosstab


    【解决方案1】:

    您应该能够通过包含一个新列来添加总计字段:

    SELECT  Equipt, [BSL] AS BSL, [AQ] AS AQ, ([BSL] + [AQ]) as TTL
    FROM 
    ( 
         SELECT Equipt, Shed 
         FROM PunctualityMain 
         WHERE Date >= '4/1/2012' AND Date <= '4/30/2012' 
              AND classification    = 'Loco' 
    ) x
    PIVOT 
    ( 
        COUNT(Shed) 
        FOR Shed IN ([BSL], [AQ])
    )  p 
    

    【讨论】:

      猜你喜欢
      • 2014-04-01
      • 2012-06-22
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 1970-01-01
      • 2018-04-21
      • 2013-09-23
      • 1970-01-01
      相关资源
      最近更新 更多