MySQL的。左连接一个匹配的行

时间:2013-08-15 09:07:26

标签: mysql sql

我有两张桌子:应用和图片。

每个应用在图像表中都有许多与之关联的图像,每个图像采用枚举类型,每种类型都有多个。

我想根据枚举类型返回单行图像。

应用

intId | strName | txtDescription

图片

intImageId | enumImageType | strImageURL | intRelId 

(images.intRelId = apps.intId)

我尝试了以下但是这为每个图像返回了一行,我只想返回一个具有最高intImageId的行

SELECT *
FROM apps
LEFT JOIN images AS avatarTbl
    ON apps.intId = avatarTbl.intRelId 
    AND avatarTbl.enumImageType = 'avatar' 
WHERE intId = '2'
ORDER BY avatarTbl.intImageId DESC

1 个答案:

答案 0 :(得分:2)

您可以在末尾添加LIMIT 1以仅返回结果集的第一行。

SELECT *
FROM apps
LEFT JOIN images AS avatarTbl
    ON apps.intId = avatarTbl.intRelId 
    AND avatarTbl.enumImageType = 'avatar' 
WHERE intId = '2'
ORDER BY avatarTbl.intImageId DESC
LIMIT 1
祝你好运。