• ベストアンサー

3つの表の結合

select a.keino,c.keinaj1,b.kumino from gassan a,kumiai b,keiotr c where a.keino=b.daichono and b.daichono = c.keino 以上のような記述をしたところ、レコードが選択されないと 出てしまいます。 それぞれのkeino、daichonoには同じ値が入っているのですが 条件の指定の仕方がよくないのでしょうか? 3つ以上のテーブルの結合は始めてなので、教えていただけると ありがたいです。 よろしくお願いします。

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

  • ベストアンサー
回答No.1

表aと表bは結合されています。表bと表cは結合されています。ですが表aと表cは結合されていませんので、全表が同じレコード数というのが前提条件で以下の様にされてみてください、 select a.keino,c.keinaj1,b.kumino from gassan a,kumiai b,keiotr c where a.keino=b.daichono and a.keino = c.keino だめなら、 select a.keino,d.keinaj1,d.kumino from gassan a,(select c.keinaj1,b.kumino from kumiai b,keiotr c where b.daichono = c.keino) d where a.keino=b.daichono で如何でしょう?動作確認しておりませんので自信はありませんご参考までに。

noname#32335
質問者

お礼

ありがとうございました。

その他の回答 (1)

回答No.2

テーブルaとテーブルb,テーブルbとテーブルcが結合されていれば、テーブルaとテーブルcは結合されています。 SQL文の記述としては正しいと思います。 可能性としては、keino, daichono のいずれかに前もしくは後にブランクが入っているなどということはないでしょうか?差し支えのない範囲でデータを提示していただけると更にアドバイス可能です。

noname#32335
質問者

お礼

ありがとうございました。 仰るとおり、単純に記述のミスでした。

関連するQ&A