2013-01-31 75 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 |