使用SQL Server搜索多个表

时间:2010-11-28 22:00:40

标签: sql-server

我有三张桌子:

____________________   ____________________   ____________________
posts                  tags                   posts_x_tags
____________________   ____________________   ____________________
| id | title | body    | id | tag_name        | post_id | tag_id

帖子和标签有很多关系。 是否可以搜索posts.body或posts.title或tags.tag_name。

这让我接近但返回了很多重复:

SELECT * FROM posts p
INNER JOIN posts_x_tags x ON p.id = x.post_id 
INNER JOIN tags t ON t.id = x.tag_id 
AND t.tag LIKE '%a%'
OR p.title LIKE '%a%'
OR p.body LIKE '%a%';

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用SELECT DISTINCT ...以从结果集中删除重复项。