我有 2 个表,一个产品表和一个图像表。产品每条记录可以有超过 1 个图像。我需要一个 SQL 语句,它将列出每个产品的 1 个图像,而不是每个产品的所有图像。
我目前努力的一个按比例缩小的例子是:
SELECT Product.RefCode, Img.ImgPath
FROM Product INNER JOIN (
SELECT ProductImg.ImgPath, ProductImg.PrdFK
FROM ProductImg
LIMIT 0,1) AS Img ON Product.PrdID = Img.PrdFK;
上面的示例返回 0 个结果,但是,如果我从 Sub SELECT 中删除 LIMIT 0,1,我将获得所有产品和所有图像的完整列表。
我只想返回每个产品记录的 1 个图像记录。
我已经将“程序员”代码修改为 MySQL,它工作正常。
SELECT Product.RefCode,
(Select ProductImg.ImgPath
From ProductImg
Where Product.PrdID = Img.PrdFK LIMIT 0,1) AS ImgPath
FROM Products
出于某种原因,在尝试“Bill Karwin”的解决方案时,它让服务器加载了很长时间。