- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:異なるキーで取得したデータの合成)
異なるキーで取得したデータの合成
このQ&Aのポイント
- SQLを使用して、異なるキーで取得したデータを合成する方法について質問です。
- テーブルAとテーブルBがあり、それらを結合して指定の結果を得る方法について教えてください。
- 求める結果を得るためには、どのようなSQL文を記述すれば良いでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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」を「""」(空文字列)にする事。
その他の回答 (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
質問者
お礼
お礼遅くなりました。 回答ありがとうございました。 教えていただいた方法では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(+)
お礼
お礼遅くなりました。 回答ありがとうございました。 教えていただいた方法でも解決いたしましたが、 今回は以下の方法で実施いたしました。 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(+)