Sql server 使用子查询选择多个值
我有三张桌子:Sql server 使用子查询选择多个值,sql-server,subquery,Sql Server,Subquery,我有三张桌子: 文章 文章标签 article\u articleTags\u Rel articleTags\u Rel表有两列 ArticleID\u FK TagID\u FK 如您所见,article\u articleTags\u Rel用于在文章和articleTags之间建立关系 我只想从articles表中选择一行,并使用子查询选择所有相关标记(多个值) 我怎样才能做到这一点呢?既然您没有提供任何样品,我想您只需要简单的想法: SELECT a.*, t.* FROM Art
我怎样才能做到这一点呢?既然您没有提供任何样品,我想您只需要简单的想法:
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
您可以尝试以下方法:
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 fiddle:
请提供一些示例数据以及您希望获得的数据结果。@Mureinik我不知道这是如何工作的,也不知道返回的数据将如何(可能是标签将作为列添加?),这是我第一次面对这种情况,欢迎您提出任何建议。您正在寻找一个连接查询,不是子查询。这不是我要找的。顺便说一句,谢谢!:)那不是我要找的。顺便说一句,谢谢!:)你在找什么?你能给我们一份你想要的产品的样品吗?