我有两张桌子,我得参加。表结构是
tblproducts-->id(int,pk),名称(varchar)
tblphotos--->id(int,pk),产品id(int,fk),照片(varchar),显示顺序(int)
每个产品可以有多张照片,我需要一张显示顺序最低的照片。
我需要,tblproducts.id,tblproducts.name,tblphotos.photo(显示顺序最少的照片)还需要按升序获取整个列表。

最佳答案

Select tblproducts.id, tblproducts.name, (Select Top 1 tblphotos.photo FROM tblphotos, tblproducts Where tblphotos.productid = tblproducts.id Order By display_order)
From tblproducts, tblphotos
Where tblproducts.id = tblphotos.productid
Order by  tblproducts.id

编辑:奥普斯!我没看到标签。顺便说一下,这是给MSSQL的。
是的,此查询似乎重复。我应该删除Where条款。
Select tblproducts.id, tblproducts.name, (Select Top 1 tblphotos.photo FROM tblphotos, tblproducts Where tblphotos.productid = tblproducts.id Order By display_order)
From tblproducts
Order by  tblproducts.id

关于php - 在MySQL中联接具有多字段排序的两个表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7816950/

10-10 03:23