複数テーブル検索で同idの部分は結合させたい
初心者です。
ちょっと伝えずらいのですが、
下記のようなテーブル構造になっています。
■tableA
+----+-------------------+------------------------------------------+
| id | title | body |
+----+-------------------+------------------------------------------+
| 1 | test1 | aaaaaaaaaa |
| 2 | test2 | bbbbbbbbbbbb |
+----+-------------------+------------------------------------------+
■tableB
+----+-------------------+------------------------------------------+
| id | name | sex |
+----+-------------------+------------------------------------------+
| 1 | taro | men |
| 2 | yoko | women |
+----+-------------------+------------------------------------------+
■tableC
+----+-------------------+------------------------------------------+
| id | num | order_id |
+----+-------------------+------------------------------------------+
| 1 | 33 | 1 |
| 2 | 66 | 2 |
+----+-------------------+------------------------------------------+
■tableD
+-------------------+------------------------------------------+
| icons | order_id |
.+-------------------+------------------------------------------+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 5 | 1 |
| 1 | 2 |
| 3 | 2 |
+-------------------+------------------------------------------+
tableA,B,Cのidを軸にデータを表示したいのですが、
---------------------------------------------------------
tableA.id , body , name , sex , num , order_id
FROM tableA , tableB , tableC
WHERE
tableA.id = tableB.id AND
tableA.id = tableC.id
----------------------------------------------------------
で出力できました。
で、tableDのiconsの内容も出力したいのですが、
---------------------------------------------------------
tableA.id , body , name , sex , num , order_id , icons
FROM tableA , tableB , tableC
WHERE
tableA.id = tableB.id AND
tableA.id = tableC.id AND
tableC.order_id = tableD.order_id
----------------------------------------------------------
でやると、2行しかデータがでないはずなのですが、
6行出力されてしまいます。
たぶん、tableDのデータの持ち方が、
ひとつのidに複数のiconsがある場合は、
行ごとにレコードを分けているためだと思いますが・・・
tableDの行分、6行でているのです。。
なので、期待する結果は、
ちゃんとidの数分だけ出力されて、
同order_idにiconsが複数ある場合は、
行ごとに分かれるのではなく、
ひとつのカラム?にカンマ区切りなどで
入れたいのですがどうしたらよいでしょうか??
↓期待する結果
-----------------------------------------------------------------------
+----+-------------------+------------------------------------------+
| id | title | body | order_id | icons
+----+-------------------+------------------------------------------+
| 1 | test1 | aaaaaaaaaa | 1 |1,2,3,5
| 2 | test2 | bbbbbbbbbbbb | 2 | 1,3
+----+-------------------+------------------------------------------+
※カンマじゃなくてもいいです
わかりづらくて申し訳ありませんが、
ご教授お願いいたします。
MySQL 5.0.90-log
ちなみにec-cubeの高度な設定の
csvを吐き出す部分で使用しています。
補足
hegemonism様ありがとうございます。 > いずれ埋まるものなら、あらかじめ用意しておいても無駄にはならないと思います。 埋まらない可能性もある場合でも、そのようにしたほうがよろしいでしょうか?