三桌加入

时间:2012-05-07 12:40:12

标签: sql

我有三张桌子。

一个是文章,一个是文章的标签,一个是链接这些表的表,因为它是多对多的关系。每篇文章都有一些标签,为了保持标签表的小型化和数据整数,我需要一个表来将它们链接在一起。

现在我必须在标签中搜索某些关键字,然后选择链接到这些标签的文章。什么是最有效的方法?这是表格的直观表达:

enter image description here

1 个答案:

答案 0 :(得分:2)

搜索文章/文档的最有效方法是来使用关系数据库。那不是它的Forte。例如,SOLR就是完美的。

可是:

SELECT
   a.id
FROM
   article a
  join
   article_tags b
  on
   a.id = b.article_id
  join
   tags c
  on
   b.tag_id = c.id
where
  c.tag_name = {$cleaned_input_tag_name}
你可以c.tag_name = {$cleaned_input_tag_name} IN声明或LIKE声明