【发布时间】:2017-10-12 23:57:33
【问题描述】:
我有以下表格:
标签:
| id | title |
类别:
| tag_id (FK tags.id) | category_tag_id (FK tags.id) |
category_tag_id 引用 tags.id 因为我们正在重复使用 tags 表(我们可以简单地将类别分配给具有此表的标签
文章
| id | title | body | etc... |
articles_tags
| article_id (FK articles.id) | tag_id (FK tags.id) |
我正在尝试创建一个查询来选择与此技能相关的所有类别。我们通过搜索 articles_tags 表中链接的标签来获取类别,然后我们只需要通过检查 categories 表来检查哪些类别与这些标签相关联。
这是我尝试过的
select tags.*
FROM tags
INNER JOIN categories ON tags.id = categories.tag_id
INNER JOIN article_tags ON article_tags.article_id = ID_OF_ARTICLE_WE_WANT_CATEGORIES_FROM
我也尝试添加一个
where article_id = ID_OF_ARTICLE_WE_WANT_CATEGORIES_FROM
但是,此查询似乎返回所有类别,而不仅仅是与技能相关的类别。
【问题讨论】:
标签: mysql sql postgresql