- ベストアンサー
複数DBの結合について
下記のような構成のDBがあり 全部のTBを結合したいのですが SELECT FROM pears AS pear LEFT JOIN users AS man ON (pear.man_id = man.id) LEFT JOIN users AS woman ON (pear.woman_id = woman.id) USERとPEARの結合は出来たものの HOBYの結合が出来ないので、どうすればよいか よろしくお願いいたします。 TABLE hobys id hoby 1 baseball 2 tennis 3 soccer 4 basketball TABLE users id name hoby_id 1 aaa 1 2 bbb 2 3 ccc 3 4 ddd 4 TABLE pears id man_id woman_id 1 1 2 2 3 4 環境Mysql 4.0.27
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どのような結果を求められているかわからないのでとりあえずこんなで? SELECT p.id, p.man_id, man.name as man_name, man.hoby_id as man_hoby_id, h1.hoby as man_hoby, p.woman_id, woman.name as woman_name, woman.hoby_id as woman_hoby_id, h2.hoby as woman_hoby FROM pears as p LEFT JOIN users AS man ON (p.man_id = man.id) LEFT JOIN users AS woman ON (p.woman_id = woman.id) LEFT JOIN hobys AS h1 ON (man.hoby_id=h1.id) LEFT JOIN hobys AS h2 ON (woman.hoby_id=h2.id)
その他の回答 (1)
- agricap
- ベストアンサー率40% (79/195)
SELECTでどの列を抽出するか、ということを除いては No.1の回答で正しいと思いますが、何がうまくいかないのでしょうか?
補足
agricapさん有難う御座います。 もう一度見直したら取得出来ました。
補足
yambejpさん有難うございます。 試してみたのですが、出来そうで出来なかったです。 出力結果を書いておりませんで、申し訳御座いませんでした。 下記のように、出力したいのですが・・・ よろしくお願いいたします。 Man.id Woman.id Man.name Woman.name Man.hoby Woman.hoby 1 2 aaa bbb baseball tennis 3 4 ccc ddd soccer basketball