SQL查询&一条记录的多个结果

时间:2011-12-04 19:51:18

标签: mysql sql database

我正在尝试将多个表连接在一起,但是当某些产品附加了超过1张图片时,我遇到了一些麻烦。

Products                        Pictures
Id                              pic_id
name                            pic_name
picture_id

我的查询:

SELECT id, name, pic_name
FROM Products 
LEFT OUTER JOIN Pictures p ON id=pic_id 

显示类似

的内容
1   RAM  ram.png
1   RAM  ram2.png
1   RAM  ram4.png
2   CPU  test.png

我想显示类似

的内容
1   RAM  ram.png, ram2.png, ram4, png
2   CPU  test.png

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:5)

接近这一点应该对你有用:

SELECT prod.id, prod.name, GROUP_CONCAT( pic.pic_name )
FROM Products AS prod
LEFT OUTER JOIN Pictures AS pic ON prod.picture_id = pic.pic_id 
GROUP BY prod.id, prod.name

答案 1 :(得分:0)

看看这个网站,看看如何在mysql中使用pivot: http://en.wikibooks.org/wiki/MySQL/Pivot_table