我试图从三个表(照片、相册、相册_照片)中获取数据,然后程序在相册表中搜索用户的相册,然后在相册_照片中查找每个相册的照片 ID,然后,对于每个 ID,按 ID 查看照片表中的所有数据。
昨天我问了这样的问题:Inner join with 3 tables,但现在,我认为问题不同了,我想知道如何为请求添加限制 by inner join
。
所以,我现在正在使用这段代码:
SELECT a.album_name, a.album_id, c.*
FROM albums a
INNER JOIN album_photos b ON a.album_id = b.album_id
INNER JOIN photos c ON b.photo_id = c.photo_id
WHERE (
SELECT COUNT(*)
FROM album_photos d
WHERE b.album_id = d.album_id
AND d.nick = :nick
) <=5
好的,此代码选择包含 5 张或更少照片的相册。我不希望代码那样做,无论相册有多少张照片,我都想用 LIMIT OF 5 张照片显示相册。
其他人告诉我你做不到,我相信不是这样,因为SQL语言非常复杂,我认为我们应该有工具来做。
有没有办法以适当的方式做到这一点?
*在我上面分享的链接中,我举了一个关于输出数据的例子。