所以我有2个表...产品和形象SQL查询联接结果限制为一个项目每ID
Products
---------
id
value1
value2
value3
etc..
Images
---------
id
productId
imageName
图像表将有一个以上的图像每个产品,所以当我运行此查询: (对!= 0是因为一些图像没有包含一个productId,所以我想将它们排除在外,不知道是否有更好的方法来处理,或者如果我甚至需要包括)
select p.*, i.imageName
from products p, images i
where p.id = i.productId and i.productId != 0
我得到的结果,但它给了我多个条目,我只想要每个产品的一个结果,我希望它拉起TH Ë形象,加入FIRST(所以最古老的一个)......
目前的结果是这样的---
id : 1
imagename: name1.jpg
id : 2
imagename: name5.jpg
id: 2
imagename: name6.jpg
id: 2
imagename: name7.jpg
id: 3
imagename: name3.jpg
etc... etc...
我希望它看起来像这样...
id: 1
imagename: name1.jpg
id: 2
imagename: name5.jpg
id: 3
imagename: name 3.jpg
这有道理吗?任何人都可以帮我弄清楚我的问题吗?
你用什么标准选择name5.jpg而不是name6.jpg?它只是一个随机选择,或者你有明确的东西? – alexm 2011-12-20 23:07:03
我想'选择不同'可能工作? – 2011-12-20 23:08:10
最早的文件按时间顺序排列,所有图像都有一个时间戳,所以我可能会按时间戳排序,但我认为数据库检索时间无论如何,所以没有必要在查询中包含时间戳逻辑 – 2011-12-20 23:08:22