mySQL将多个结果放在一个结果行中

mySQL将多个结果放在一个结果行中,mysql,Mysql,我有一个按产品id存储图像URL的表,我正在尝试编写一个查询,将所有图像结果拉到一行。该表看起来像: photoFlag photoName objectID 其中,photoName保存图像的相对路径,photoFlag标识图像的类型(full、thumb等)。我首先编写了一个快速查询,以获取两个图像(具有不同的标志)以供提取。这就是我所拥有的: select t2.pic, t4.pic, t2.id from (select p2.photoName as pic, p2.object

我有一个按产品id存储图像URL的表,我正在尝试编写一个查询,将所有图像结果拉到一行。该表看起来像:

photoFlag photoName objectID
其中,photoName保存图像的相对路径,photoFlag标识图像的类型(full、thumb等)。我首先编写了一个快速查询,以获取两个图像(具有不同的标志)以供提取。这就是我所拥有的:

select t2.pic, t4.pic, t2.id from
 (select p2.photoName as pic, p2.objectID as id from ds_photos as p2 where p2.photoFlag = 2) as t2,
 (select p4.photoName as pic, p4.objectID as id from ds_photos as p4 where p4.photoFlag = 4) as t4
where t2.id=t4.id
这似乎是一个正确的查询,但当我通过phpMyAdmin执行时,它永远不会返回结果,并在“SHOW PROCESS”列表中无限期地显示(至少大约40分钟)。有没有什么我没有看到的错误导致了无休止的循环

理想情况下,我只想抓取photoFlag=2的图片(有些产品有多张图片)并将它们放在同一行中,但我不知道从哪里开始。有什么建议吗


感谢您的帮助。

使用:
组\u CONCAT

SELECT id, GROUP_CONCAT(photoName ) As pic 
FROM ds_photos 
WHERE (photoFlag = 2 or photoFlag = 4) and id = ?;
GROUP BY id
替换为所需的ID