我有两张桌子:应用程序和图片。
在images表中,每个应用程序都有许多与之相关联的图像,每个图像都采用枚举类型,并且每个类型可以有多个。
我想返回一行,其中包含基于枚举类型的单个图像。
应用程序
intId | strName | txtDescription
图像
intImageId | enumImageType | strImageURL | intRelId
(images.intRelId=apps.intId)
我尝试了下面的操作,但是这为每个图像返回了一行,我只想返回一行具有最高内耗的图像
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
以仅返回结果集的第一行。
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
祝你好运。