表1
cid
itemdesc
itemprice
表2
cid
imagename
status
我的第一个表有唯一的cid(没有重复的),我希望它左连接到表2,但是它每个cid有多行
cid imagename status
1 image1-of-cid1 test1
1 image2-of-cid1 test2
2 image1-of-cid2 test3
2 image2-of-cid2 test4
2 image3-of-cid2 test5
但我只希望查询返回表1中每条记录的第一行
谢谢
最佳答案
您需要创建一个额外的子查询,每个子查询得到一个imagename
。试试这个,
SELECT a.*, b.*
FROM table1 a
LEFT JOIN
(
SELECT cid, MIN(imagename) minImage
FROM table2
GROUP BY cid
) c ON a.cid = c.cid
LEFT JOIN table2 b
ON c.cid = b.cid AND
b.imageName = c.minImage
SQLFiddle Demo