- 締切済み
複数の外部結合のやり方
店舗表(SHOP)、ビル表(BIL)、都道府県表(AREA)、関連表(LINK)を取り出すSQLを 作成しています。 以下の状態だと店舗表(SHOP)とビル表(BIL)が紐づいていないデータにも都道府県 が出てしまいデータとしておかしなことになっています。 (BIL(B)とBIL(C)の紐付きがないから?) Oracleのように外部結合(+)が使えず・・・どのように修正すればいいか教えてください。 SELECT S.SHOP_ID,S.SHOP_NAME,A.TIIKI_NAME,A.TODOUFUKEN_NAME,B.BIL_NAME,B.ADDRESS,B.MEMO FROM SHOP AS S LEFT JOIN BIL AS B ON S.BIL_ID=B.BIL_ID, BIL AS C RIGHT JOIN AREA AS A ON .TODOUFUKEN_ID=A.TODOUFUKEN_ID, LINK AS L WHERE S.TIIKI_ID=A.TIIKI_ID AND S.DELETE=0 GROUP BY SHOP_ID ORDER BY A.TIIKI_ID,S.SHOP_ID よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
ちょっとわかりにくいSQLですね。 もうすこし質問を絞ったほうがよろしいのでは? どういうデータからどういう結果がみちびかれる期待をしているのか 整理したほうがよろしいでしょう。 ご理解なさっているようですが完全外部結合はどっちにしろできませんので
お礼
ありがとうございます。 S.TIIKI_ID=A.TIIKI_ID で条件を絞ってしまっていたためと、TIIKI_IDに重複IDがあったため他にも原因がありました。 一応解決しました。