※ ChatGPTを利用し、要約された質問です(原文:JOINでつなげサブテーブルの複数レコードをまとめ)
JOINで複数レコードをまとめるSQL文とは?
このQ&Aのポイント
【SQL】文を使用して、複数のテーブルのデータを結合し、1つのテーブルのような表示をすることができます。
この場合、【main_table】と【sub_table】をJOINして、【sample.php】のような表示にしたいと考えています。
具体的には、【main_table】と【sub_table】のnoカラムをJOIN条件として指定し、対応するレコードを結合させることで、希望の表示を実現できます。
JOINでつなげサブテーブルの複数レコードをまとめ
現在、下記の【main_table】【sub_table】2つのデータベースを
【SQL】文にて【sample.php】の表示となっています。
【main_table】
+---+---+-----------+
|id|no|todouhuken|
+---+---+-----------+
|1|001|北海道 |
+---+---+-----------+
|2|002|青森 |
+---+---+-----------+
【sub_table】
+---+---+-----------+
|id|no|shi |
+---+---+-----------+
|1|001|函館市 |
+---+---+-----------+
|2|001|札幌市 |
+---+---+-----------+
|3|002|青森市 |
+---+---+-----------+
|4|002|つがる市 |
+---+---+-----------+
【SQL】
SELECT main_table.*, sub_table.*
FROM main_table
JOIN main_table ON main_table.no = main_table.no
【sample.php】
+---+-----------+-----------+
|no|todouhuken|shi |
+---+-----------+-----------+
|001|北海道 |函館市 |
+---+-----------+-----------+
|001|北海道 |札幌市 |
+---+-----------+-----------+
|002|青森 |青森市 |
+---+-----------+-----------+
|002|青森 |つがる市 |
+---+-----------+-----------+
この、【sample.php】を下記のような表示にしたいのですが可能でしょうか?
【sample.php】理想
+---+-----------+-------------------+
|no|todouhuken|shi |
+---+-----------+-------------------+
|001|北海道 |函館市 / 札幌市 |
+---+-----------+-------------------+
|002|青森 |青森市 / つがる市 |
+---+-----------+-------------------+
ご教授お願い致します。
お礼
こんな感じで、できましたーーーーー!!! select main_table.no, todouhuken, group_concat(sub_table.shi separator ' / ') from main_table join sub_table on main_table.no = sub_table.no group by sub_table.no; 感謝します!! ありがとうございました!!!!!
補足
無知ですいません(>_<) SQLになるんですか・・・これ・・・? ご丁寧にありがとうございます!! やってみます!!