好吧,假设我有 3 张桌子......
一个叫做media
,每一行都有一个主索引media_id
。
一个叫做keywords
,每一行都有一个主索引keyword_id
。
最后,我还有一张名为keylinks
. 没有主索引,但有一个唯一索引media_id + keyword_id
。您可能会猜到该表是与媒体相关的关键字的索引。这个想法是关键字可以链接到多个媒体,以便用户可以根据他们链接的关键字浏览媒体。
现在,我正在执行以下操作来获取链接到的 keyword_id 的媒体6
:
SELECT media.*, keywords.*
FROM media
LEFT JOIN keylinks ON (keylinks.media_id = media.media_id)
LEFT JOIN keywords ON (keywords.keyword_id = keylinks.keyword_id)
WHERE keywords.keyword_id = '6'
如果我只想返回由6
. 但是,如果我想查找不仅与关键字 ID 相关联的媒体,6
而且还与第二个(或第三个等)相关联keyword_id
。
我的问题是如何检索具有两个6
和可能的键链接的媒体列表8
。
提前致谢。