読者です 読者をやめる 読者になる 読者になる

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は借方・貸方みたいなイメージ。テーブル設計は無視する方向で