2

我有 2 个表:应用程序和图像。

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

我想根据枚举类型返回带有单个图像的单行。

应用

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
4

1 回答 1

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

祝你好运。

于 2013-08-15T09:23:04.240 回答