電子書籍の厳選無料作品が豊富!

結合SQLに関して

ある3つのテーブルが存在し、TABLE1の情報を核として、TABLE2,TABLE3と
結合させて情報を取得しようと考えています。

TABLE1とTABLE2だけであれば LEFT OUTER JOIN等を駆使すれば、TABLE1を核として
全件表示可能かと思いますが、TABLE3も含めて結果のような形にしたい場合は、
どのようにSQLを記述すれば良いでしょうか。。。。

初歩的な質問で申し訳ありませんが、教えて下さい。

TABLE1

NO
1
2
3


TABLE2

NO,BUSYO_CODE
1,123
2,123
3,456

TABLE3

BUSYO_CODE,BUSYO_NAME

123,総務
456,経理


結果

NO,BUSYO_CODE,BUSYO_NAME
1,123,総務
2,123,総務
3,456,経理

よろしくお願いします。

A 回答 (2件)

おそらくこういうことをやりたいのではないですか?



SELECT A.NO, B.BUSYO_CODE, C.BUSYO_NAME
FROM TABLE1 A
LEFT JOIN TABLE2 B
ON(A.NO = B.NO)
LEFT JOIN TABLE3 C
ON(B.BUSYO_CODE = C.BUSYO_CODE)

これなら部署コードや部署名が無い場合はNULLで表示されますから・・・
    • good
    • 0

こんにちは。



>LEFT OUTER JOIN等を駆使すれば
が、よくわからない(この場合、外部結合は不要なので)のですが・・・、

単純に結果を得るならば、

SELECT TABLE1.NO, TABLE2.BUSYO_CODE, TABLE3.BUSYO_NAME
FROM TABLE1
INNER JOIN TABLE2
ON(TABLE1.NO = TABLE2.NO)
INNER JOIN TABLE3
ON(TABLE1.BUSYO_CODE = TABLE2.BUSYO_CODE)

になると思いますが・・・。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!