• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:異なるキーで取得したデータの合成)

異なるキーで取得したデータの合成

このQ&Aのポイント
  • SQLを使用して、異なるキーで取得したデータを合成する方法について質問です。
  • テーブルAとテーブルBがあり、それらを結合して指定の結果を得る方法について教えてください。
  • 求める結果を得るためには、どのようなSQL文を記述すれば良いでしょうか?

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

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

SELECT T.F1, T.F2, Max(T.F3) AS F3, Max(T.F4) AS F4 FROM [SELECT T1.F1 AS F1, T1.F2 AS F2, T2.F2 AS F3,0 AS F4 FROM T1 LEFT JOIN T2 ON (T1.F1 = T2.F1) UNION SELECT T1.F1 AS F1, T1.F2 AS F2, 0 AS F3,T2.F2 AS F4 FROM T1 LEFT JOIN T2 ON (T1.F2 = T2.F1)]. AS T GROUP BY T.F1, T.F2; マイナスが無い事が前提。 カラム3、4が「文字列」の場合は「0」を「""」(空文字列)にする事。

nakatushi
質問者

お礼

お礼遅くなりました。 回答ありがとうございました。 教えていただいた方法でも解決いたしましたが、 今回は以下の方法で実施いたしました。 SELECT A.カラム1,A.カラム2,B.カラム4,C.カラム4 FROM テーブルA AS A,テーブルB AS B,テーブルB AS C WHERE B.カラム3 = A.カラム1(+) AND C.カラム3 = A.カラム2(+)

その他の回答 (1)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

SELECT COL1,COL2, (SELECT COL4 FROM TABLEB WHERE COL3=COL1) COL4_1, (SELECT COL4 FROM TABLEB WHERE COL3=COL2) COL4_2 FROM TABLEA

nakatushi
質問者

お礼

お礼遅くなりました。 回答ありがとうございました。 教えていただいた方法ではSELECT COL4 FROM TABLEB WHERE COL3=COL1(or COL2) の箇所でCOL1(or COL2)の指定でエラーとなりました。 今回は以下の方法で実施いたしました。 SELECT A.カラム1,A.カラム2,B.カラム4,C.カラム4 FROM テーブルA AS A,テーブルB AS B,テーブルB AS C WHERE B.カラム3 = A.カラム1(+) AND C.カラム3 = A.カラム2(+)

関連するQ&A