2013-01-31 81 views
0

可能重複:
Can I concatenate multiple MySQL rows into one field?SQL數據昏迷分離

我有三個表中的項目,大小和item_sizes許多與加盟我可以查詢該一對多的關係:

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

但我想這一點:

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

速度並不重要我只想要結果。我可以用while循環做,但是有沒有其他方法來做這個查詢?

+0

Mysql或MS SQL? – Justin

+2

哪個平臺?因爲這裏有一個內置的mysql函數:GROUP_CONCAT() –

+0

數據庫是mysql –

回答

3

嘗試GROUP_CONCAT()

SELECT item, GROUP_CONCAT(size) 
FROM table_name 
GROUP BY item 
3

查詢:

SQLFIDDLEEXample

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

結果:

| ITEM |  SIZE | 
-------------------- 
| dress | S, L, XL | 
| shirt | L, XL |