我有两张桌子。以下是简化的细分:
Table #1 - Album:
Rows:
albumId | title | userId
Table #2 - Photo:
Rows:
photoId | src | albumId
Run Code Online (Sandbox Code Playgroud)
我想从每张专辑中获取第一张照片的src。这显然不是我想要的,但是这里是我拥有的:
SELECT pa.id, pa.title, p.src
FROM Album pa
LEFT JOIN Photo p ON pa.Id = p.albumId
WHERE pa.userId = 1
Run Code Online (Sandbox Code Playgroud)
这将返回用户的所有照片。我想要这些结果中每张专辑的第一个结果。
我想你可能想添加一个 cover_photo_id,正如 @zerkms 所说,但这可以解决问题(不知道使用子查询对于你的情况是否足够有效)
SELECT pa.albumId, pa.title, p.src
FROM Album pa
LEFT JOIN Photo p
ON p.photoId = (SELECT MIN(photoId) FROM Photo WHERE albumId = pa.albumId)
WHERE pa.userId = 1
Run Code Online (Sandbox Code Playgroud)