• ベストアンサー

複数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

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

どのような結果を求められているかわからないのでとりあえずこんなで? 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)

aruaruaru1
質問者

補足

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

その他の回答 (1)

  • agricap
  • ベストアンサー率40% (79/195)
回答No.2

SELECTでどの列を抽出するか、ということを除いては No.1の回答で正しいと思いますが、何がうまくいかないのでしょうか?

aruaruaru1
質問者

補足

agricapさん有難う御座います。 もう一度見直したら取得出来ました。