1

列「POSA」の条件をテストしているときに、各Event_IDに対してcnt1とcnt2を返すSQLがあります。

これにより、必要に応じて次が返されます。

Event_ID | CNT1 | CNT2

同じテーブル内の別の列「S」が異なるかどうかをテストする別の条件を各CASEステートメントに追加したいと思います。以下はコードスニペットです。

SELECT Event_ID, 
 sum  
 (CASE WHEN POSA IN ('SX', 'DX')  THEN 1 
    ELSE 0 
 END) 
 AS cnt1,
sum 
(CASE  
    WHEN POSA IN ('SP', 'DP')  THEN 1 
    ELSE 0 
 END) AS cnt2


FROM Station_Processed_Info GROUP BY EVENT_ID;
4

1 に答える 1

1
SELECT Event_ID,   
SUM(CASE 
   WHEN POSA IN ('SX', 'DX')  THEN 1
   WHEN DISTINCT("S") THEN something 
    ELSE 0   END)   AS cnt1, 
SUM (CASE  
    WHEN POSA IN ('SP', 'DP')  THEN 1
    WHEN DISTINCT("S") THEN something 
    ELSE 0   END) AS cnt2    
FROM Station_Processed_Info GROUP BY EVENT_ID;
于 2012-11-06T20:44:07.493 に答える