• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【SQL】異なる行とのデータ結合)

【SQL】異なる行とのデータ結合

このQ&Aのポイント
  • MySQL5.5.40のテーブル「couple」について、異なる行とデータを結合する方法を教えてください。
  • 要求される出力は「id, couple_id, name, sex, age, (同じcouple_idの)id, name, sex, age」です。
  • エラー考慮は不要で、同じcouple_idは2人しかいないという前提で構いません。

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

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

【自己結合】 http://www.dbonline.jp/mysql/select/index17.html SELECT alias1.col_name, ...   FROM tbl_name1 AS alias1   INNER JOIN tbl_name2 AS alias2   ON alias1.col_name1 = alias2.col_name2; (上記「DBOnline」より) この例文に従えば・・・。 SELECT couple_1.id, couple_1.couple_id, couple_1.name, couple_1.sex, couple_2.name, couple_2.sex FROM couple AS couple_1 LEFT JOIN couple AS couple_2 ON couple_1.couple_id=couple_2.couple_id; というSQL文が書けます。だが、これはゴールのそれではありません。 WHERE couple_1.id<>couple_2.id; この Where節を加えて完成。 PS1、MySQLではテストしてませんが、多分OKかと・・・。 MySQL環境は、電源オフのノートブックにしかありません。起動してテストするのが面倒臭かったので悪しからず。 PS2、エイリアス文( AS couple_1)は書かなくてもOKかも・・・。 まあ、自己結合であることを明示的に書くかどうか?それだけの問題です。

opaopaman
質問者

お礼

f_a_007様 ありがとうございます!! 上手く出力できました。 感謝感謝

すると、全ての回答が全文表示されます。

関連するQ&A