合并两个查询并添加返回数组

时间:2011-06-09 17:40:43

标签: php mysql

我有这两个问题

第一个是

select image from product where product_id = '82';

返回

data/1B.png

第二个就是这个

select image from product_image where product_id = '82';

返回

data/computer_system.png
data/post-image.png
data/13D.png

所以我尝试将它们组合在一起,然后进入这个查询

select p.image, pi.image as additional_images from product as p join product_image as pi on pi.product_id=p.product_id where p.product_id = '82'

返回此

 data/1B.png    data/computer_system.png
 data/1B.png    data/post-image.png
 data/1B.png    data/13D.png

我需要一个返回4个位置的查询,然后将它们设置为php数组$ images

任何想法....我知道我可以像上面一样单独进行查询,但我会做一个array_merge ....但是有更好的方法

2 个答案:

答案 0 :(得分:3)

select image from product where product_id = '82'
union
select image from product_image where product_id = '82';

答案 1 :(得分:1)

使用group_concat

select p.image, group_concat(pi.image) as additional_images 
from product as p 
join product_image as pi on pi.product_id=p.product_id 
where p.product_id = '82'

请参阅:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat