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

我有三张桌子:

  • 文章

  • 文章标签

  • 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 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我不知道这是如何工作的,也不知道返回的数据将如何(可能是标签将作为列添加?),这是我第一次面对这种情况,欢迎您提出任何建议。您正在寻找一个连接查询,不是子查询。这不是我要找的。顺便说一句,谢谢!:)那不是我要找的。顺便说一句,谢谢!:)你在找什么?你能给我们一份你想要的产品的样品吗?