■
col1 | col2 | col3 | col4 |
---|---|---|---|
1001 | 2323 | 500 | 0 |
456 | 1001 | 0 | 200 |
1111 | 1001 | 0 | 300 |
こんな感じにデータが入ってて、
col1-2 | sum(col3) | sum(col4) |
---|---|---|
1001 | 500 | 500 |
な感じにcol1かcol2が1001になってるやつのcol3とcol4を集計したい場合*1、
SELECT CASE col3 WHEN 0 THEN col2 ELSE col1 END AS 'col1-2' , sum(col3) , sum(col4) FROM SomeTable WHERE 1001 IN (col1, col2) GROUP BY CASE col3 WHEN 0 THEN col2 ELSE col1 END;
とすればOK.
*1:col3とcol4は借方・貸方みたいなイメージ。テーブル設計は無視する方向で