我有两个桌子product
和gallery
。每个产品在中可以有多个图像gallery
。当我尝试获取LIMITED 5个产品及其gallery
记录时,我进行了类似JOIN的操作:
SELECT * FROM `product` p LEFT JOIN `gallery` g ON p.product_id = g.product_id
LIMIT 0,5
此查询返回5条记录(即仅3种产品),例如:
product_id name image
1 p1 im1.jpg
1 p1 im3.jpg
1 p1 xyz.jpg
2 p2 abc.jpg
3 p3 tuy.jpg
我需要的就是5种产品,无论gallery
每种产品有多少记录,总记录有多少。这是我的预期结果:
product_id name image
1 p1 im1.jpg
1 p1 im3.jpg
1 p1 xyz.jpg
2 p2 abc.jpg
3 p3 tuy.jpg
4 p4 a32.jpg
4 p4 t22.jpg
4 p4 a13c.jpg
5 p5 t34y.jpg
如何通过单个查询执行此操作?
尝试此操作,您可以通过子查询选择5个产品并与图像连接,这样无论每个产品有多少图像,您都将获得5个产品的记录
SELECT * FROM
`gallery` g
INNER JOIN
(SELECT * FROM `product` LIMIT 5) p
ON( p.product_id = g.product_id )
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句