表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

10-08 12:02