使用子查询选择多个值

时间:2015-06-14 19:03:50

标签: sql-server subquery

我有三张桌子:

  1. 制品

  2. articleTags

  3. article_articleTags_Rel

  4. articleTags_Rel 表有2列

    1. ArticleID_FK

    2. TagID_FK

    3. 正如您所看到的, article_articleTags_Rel 是在文章 articleTags

      之间建立关系

      我想要的是使用子查询从文章表和所有相关标签(多个值)中选择一行。

      我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以尝试这样的事情:

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

答案 1 :(得分:1)

由于您没有提供任何样本,我想您只需要一个简短的想法:

  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