在单个列中显示多个行值

时间:2016-03-10 16:37:46

标签: mysql

我有2张桌子: (产品(id等等)和product_gallery(id,product_id,image等)) 单个产品可以有超过1张图片。 当我运行查询以检索每个产品及其图片时,每个图片返回一行,尽管它具有相同ID的相同产品。 有没有办法更改查询以在同一列中显示同一product.id的所有product_gallery.image值? 提前致谢

1 个答案:

答案 0 :(得分:0)

可以SELECT ..., GROUP_CONCAT( product_gallery.image ) ...并获取该产品所有图像的逗号分隔列表。但是,这通常是一个坏主意。

相反,将逻辑分解为两个单独的查询。首先,选择所有产品。然后,为每个产品选择图片。是的,这会产生更多查询,但它可以保证您在需要时选择所需的数据。