我有三个表:使用子查询选择多个值
文章
articleTags
article_articleTags_Rel
articleTags_Rel表中有2列
ArticleID_FK
TagID_FK
正如你可以看到article_articleTags_Rel是将T之间的关系他文章和articleTags
所有我想要的是从文章表,并使用子查询所有相关的标签(多值)选择一行。
我该如何做到这一点?
我有三个表:使用子查询选择多个值
文章
articleTags
article_articleTags_Rel
articleTags_Rel表中有2列
ArticleID_FK
TagID_FK
正如你可以看到article_articleTags_Rel是将T之间的关系他文章和articleTags
所有我想要的是从文章表,并使用子查询所有相关的标签(多值)选择一行。
我该如何做到这一点?
你可以尝试这样的事情:
select a.name, b.TagName
from
article_articleTags_Rel c
inner join articles a on a.ID = c.ArticleID_FK
left outer join articleTags b on b.ID = c.TagID_FK
结果:
name TagName
---------------
art A tag 1
art A tag 2
art A tag 3
art B tag 1
art B tag 3
art C tag 1
art C tag 3
sql小提琴: http://sqlfiddle.com/#!6/8d30f/2
这不是我要找的。 btw谢谢! :) –
你在找什么?你能给我们一个你想要的输出样本吗? –
既然你不提供任何样品,我猜你只需要一个简单的想法:
SELECT a.*, t.* FROM Articles a
JOIN article_articleTags_Rel r
ON a.ArticleID = r.ArticleID_FK
JOIN articleTags t
ON t.TagID = r.TagID_FK
这不是我要找的。 btw谢谢! :) –
请提供一些示例数据以及您想要获取的数据结果。 – Mureinik
@Mureinik我不知道这是如何工作,我不知道如何将返回的数据(可能是标签将添加为列?),这是我第一次面对这种情况,任何建议,欢迎。 –
您正在查找连接查询,而不是子查询。 – Tim3880