为 mySQL 数据库中的表中的每个产品仅选择一行

问题描述 投票:0回答:1

我有一个有点复杂的mysql select查询问题。

我有 2 张桌子,如下图所示。一种是产品,另一种是产品图像。我可以选择带有内连接图像的产品。

但是,由于“产品图像表”中有很多项目,我只想从表中为每个产品选择一张图像。

这是我的两张主要表格:

这是所需的结果表:

从图像表中检索哪个图像并不重要,但为了使其不那么复杂,我可以 - 例如 - 获取 min(imageID) 图像。

我想使用此查询在我的电子商务页面中显示产品。 我不想加载页面上的所有图像。因此,每个产品只需一张图片对我来说就可以了。

感谢您的帮助。

mysql select
1个回答
0
投票

您实际上可以将其实现为与现有逻辑的连接:

SELECT pImageID, productID, productImage
FROM productImages p1
WHERE NOT EXISTS (
    SELECT 1
    FROM productImages p2
    WHERE p2.productID = p1.productID AND
          p2.pImageID < p1.pImageID
);
© www.soinside.com 2019 - 2024. All rights reserved.