0

我想总结两个或多个计数值 [pivoting] 我的查询如下:

SELECT 
     client_name.client_name , 
     escort ,
     count(case mission_status_reason when '4' then mission_status_reason end) as awaiting_upload_at_origin,
     count(case mission_status_reason when '6' then mission_status_reason end) as awaiting_military_escort,
     count(case mission_status_reason when '3' then mission_status_reason end) as enrouted_to_destination,
     count(case mission_status_reason when '9' then mission_status_reason end) as awaiting_download,
     ( awaiting_military_escort +enrouted_to_destination+ awaiting_download ) as TOTAL 
FROM usc_tmr 
     LEFT JOIN client_name on client_name.id = usc_tmr.client_name 
WHERE escort='usg' 
  and mission_status_ops IN ('1','4','5','6') 
GROUP BY client_name

我的问题是计算总数。你们能帮忙吗。

4

1 回答 1

1
SELECT   client_name.client_name,
         escort,
         SUM(mission_status_reason = 4)        AS awaiting_upload_at_origin,
         SUM(mission_status_reason = 6)        AS awaiting_military_escort,
         SUM(mission_status_reason = 3)        AS enrouted_to_destination,
         SUM(mission_status_reason = 9)        AS awaiting_download,
         SUM(mission_status_reason IN (3,6,9)) AS TOTAL
FROM     usc_tmr LEFT JOIN client_name ON client_name.id = usc_tmr.client_name
WHERE    escort = 'usg' AND mission_status_ops IN (1,4,5,6)
GROUP BY client_name
于 2012-05-26T08:46:10.563 回答