ダーニヤールMadmolil:
hellow.Iは、このようなtablt製品を持っています
+-------+-------+
| id | name |
+-------+-------+
+-------+-------+
| 1 | shirt |
+-------+-------+
color table like below:
+-------+--------+
| id | color |
+-------+--------+
+-------+--------+
| 1 | red |
+-------+--------+
+-------+--------+
| 2 | yellow |
+-------+--------+
+-------+--------+
| 3 | black |
+-------+--------+
そして、shirt_colorテーブル:
+------------+----------+
| product_id | color_id |
+------------+----------+
+------------+----------+
| 1 | 1 |
+------------+----------+
+------------+----------+
| 1 | 2 |
+------------+----------+
+------------+----------+
| 1 | 3 |
+------------+----------+
私は以下のようなすべての製品とその色(ただし、1つの配列の列内のすべての色)を取得するためにクエリを書きたいです。
+-------+-------+---------------+
| pro_id| name | colors |
+-------+-------+---------------+
+------+-------+----------------+
| 1 | shirt |red,yellow,black|
+------+-------+----------------+
郵便番号:
GROUP_CONCATを使用します。
select a.id as pro_id, a.name,
GROUP_CONCAT ( color ) as colors
from product a inner join shirt_color b on a.id = b.product_id
inner join color c on c.id = b.color_id
group by a.id, a.name