1

重複の可能性:
複数のMySQL行を1つのフィールドに連結できますか?

結合との多対多の関係のために、3つのテーブルitems、sizes、item_sizesがあります。これをクエリできます。

item     size
shirt    L
shirt    XL
dress    S
dress    L
dress    XL

しかし、私はこれが欲しい:

item     size
shirt    L, XL
dress    S, L, XL

速度は関係ありません。結果だけが必要です。whileループで実行できますが、このクエリを実行する別の方法はありますか?

4

3 に答える 3

6
select item, group_concat(size)
from the_table
group by item;

マニュアルの詳細: http://dev.mysql.com/doc/refman/5.5/en/group-by-functions.html#function_group-concat

于 2013-01-31T10:16:57.880 に答える
4

クエリ:

SQLFIDDLEEXサンプル

SELECT item,
       group_concat(size separator ', ') AS SIZE
FROM Table1
GROUP BY item

結果:

|  ITEM |     SIZE |
--------------------
| dress | S, L, XL |
| shirt |    L, XL |
于 2013-01-31T10:21:20.667 に答える
3

GROUP_CONCAT() を試す

SELECT item, GROUP_CONCAT(size)
FROM table_name
GROUP BY item
于 2013-01-31T10:19:24.163 に答える