• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQLでの条件分岐)

SQLでの条件分岐方法とフラグの判定方法について

このQ&Aのポイント
  • SQLでの条件分岐方法として、外部結合を使用する方法があります。
  • AとBのテーブルを外部結合し、Bに登録されているかどうかでフラグを設定します。
  • (1)Aのみに登録された社員、(2)Bのみに登録された社員、(3)両テーブルに登録された社員を出すためには、フラグの値をもとに条件分岐を行います。

質問者が選んだベストアンサー

  • ベストアンサー
  • sngPoi2
  • ベストアンサー率49% (475/952)
回答No.1

動作確認していないので、間違っている場合はごめんなさい。 EXISTS/NOT EXISTSを使用して、Aのみ,Bのみ,両方を個別に抽出し、UNIONで結合するのはどうですか? ※フラグ値とソート順はよしなに -- Aのみに存在 SELECT A.EMP_NO, A.EMP_NAME, 'A' AS FLAG FROM A WHERE NOT EXISTS (SELECT * FROM B WHERE B.EMP_NO = A.EMP_NO AND B.EMP_NAME = A.EMP_NAME ) UNION -- Bのみに存在 SELECT B.EMP_NO, B.EMP_NAME, 'B' AS FLAG FROM B WHERE NOT EXISTS (SELECT * FROM A WHERE A.EMP_NO = B.EMP_NO AND A.EMP_NAME = B.EMP_NAME ) UNION -- 両方に存在 SELECT A.EMP_NO, A.EMP_NAME, 'W' AS FLAG FROM A WHERE EXISTS (SELECT * FROM B WHERE B.EMP_NO = A.EMP_NO AND B.EMP_NAME = A.EMP_NAME )

関連するQ&A