我有两张桌子:应用程序和图片。
在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

祝你好运。

10-08 13:27