假设有 3 个表:BOOKS、TAGS 和 ASOC
+----------+ +----------+ +----------+
|BOOKS | |TAGS | |ASOC |
+----------+ +----------+ +----------+
|book_id | |tag_id | |book_id |
|book_name | |tag | |tag_id |
|... | +----------+ +----------+
+----------+
希望这个例子中的用途/意图是显而易见的..
我想查询与特定标签集匹配的书籍。所以我尝试类似:
SELECT B.book_name
FROM BOOKS B
, TAGS T
, ASOC A
WHERE B.book_id = A.book_id
AND T.tag_id = A.tag_id
AND (T.tag = 'Classic' OR T.tag = 'Fiction')
我得到的不良结果是每本书都被多次列出,每个标签 ASOC 条目一次。我只想要匹配的唯一书籍列表。我该怎么做呢?
提前致谢。