什么应该是PHP / MySQL查询以下要求?

时间:2012-04-23 07:13:15

标签: php mysql codeigniter

这是一个购物车,用户可以将产品添加到关注列表。拥有一个用户监视列表的单独页面,其中所有产品都已被该特定用户添加到监视列表中。 product_images表与产品表分开,因为1个图像可以有多个图像。

MySQL表格

Table "product" :
    pid(pk),name,price, etc...

Table "watchlist" :
    wid(pk),pid(fk),userid(fk)

Table "p_images" :
    image_id(pk),pid(fk),image_name

我想从product表中获取所有信息,并且只从p_images表中获取该特定产品的第一张图像。 应该通过watchlist表格中的pid获取产品。

2 个答案:

答案 0 :(得分:3)

select * from product p
inner join p_images i on p.pid = i.pid
where p.pid = 1
group by p.pid
order by image_id

答案 1 :(得分:0)

我发现在查询后使用LEFT JOIN检查是否准确。

SELECT *
FROM product p
LEFT JOIN P_images i ON p.pid = i.pid
GROUP BY i.pid