我有两张桌子,产品和产品照片

product:
id     Title
1       Nike
2       Adidas
3       Piero

产品照片:
id    id_product   photo_path
1          1       /opt/A.png
2          1       /opt/B.png
3          2       /opt/C.png
4          3       /opt/D.png

这个问题
SELECT p.title, p.id FROM product p JOIN (
    SELECT id_product, photo FROM product_photo GROUP BY id_product,photo
    )pr on id_product = p.id;

通过查询,我得到了结果:
Title     id_product    path
Nike        1            /opt/A.png
Nike        1            /opt/B.png
Adidas      2            /opt/C.png
Piero       3            /opt/D.png

我想要这样的最终结果只有一张图片,比如分组
Title     id_product        path
Nike        1            /opt/A.png
Adidas      2            /opt/C.png
Piero       3            /opt/D.png

有线索吗,很难删除相同的数据?

最佳答案

使用聚合函数

SELECT p.title, p.id,max(path)
FROM product p join product_photo pp on   p.id=pp.id_product
group by p.title, p.id

关于mysql - 从表产品和Product_Photo查询多于1个图像仅显示1个图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54199519/

10-16 08:24