如何在SQL Server 2012中使用多个表进行外部交换联接?

用户名

我有以下选择

        Select Exam.Name, 
               Test.Type,
               Test.TestId, 
               Topic.Name, 
               Exam.Name
        FROM Test
        INNER JOIN Exam
           ON ( Test.ExamId = Exam.ExamId)
        INNER JOIN Topic
           ON ( Test.TopicId = Topic.TopicId)
        WHERE Test.TestStatusId = 1

当Test.Type = 1时,将有一个测试的Exam.Name。当Test.Type = 2时,将有一个测试的Topic.Name。

有没有一种方法可以进行外部联接,并根据Type = 1或2返回Name?

于尔根

使用left joincase

Select Test.Type,
       Test.TestId, 
       case when Test.Type = 1 then Exam.Name
            when Test.Type = 2 then Topic.Name
       end as Name
FROM Test
LEFT JOIN Exam ON Test.ExamId = Exam.ExamId
LEFT JOIN Topic ON Test.TopicId = Topic.TopicId
WHERE Test.TestStatusId = 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL:在SQL Server 2012中使用外部联接

来自分类Dev

在SQL Server的多个表上进行外部联接

来自分类Dev

如何在SQL Server 2012中使用GROUP BY

来自分类Dev

如何在SQL Server 2012中使用转换功能?

来自分类Dev

如何在SQL Server 2012中使用replace,substring charindex从表中获取ID?

来自分类Dev

如何在SQL Server 2012中使用动态列进行查询

来自分类Dev

如何在使用SQL Server 2012中的日历表上的联接的查询中显示缺少的日期

来自分类Dev

如何在SQL Server中联接多个表?

来自分类Dev

如何在SQL Server中多联接

来自分类Dev

SQL Server 2012:如何从多个表联接中获取计数组

来自分类Dev

如何在SQL Server查询中使用联接和sum()

来自分类Dev

如何在SQL Server中使用单个查询在多个表中插入数据?

来自分类Dev

如何在SQL Server 2008中将行更改为列(多个表,联接等)

来自分类Dev

如何在SQL Server的两张表联接中使用unpivot?

来自分类Dev

如何在SQL Server中使用substr?

来自分类Dev

如何在SQL Server中使用TOP

来自分类Dev

如何在SQL Server中使用STDifference?

来自分类Dev

如何在SQL Server中使用IF Else

来自分类Dev

如何在 SQL Server 中重塑表?

来自分类Dev

我们如何在 SQL Server 2012 的触发器中使用会话值并插入到表中?

来自分类Dev

如何在设计视图中使用SQL Server 2012修改表

来自分类Dev

如何在SQL Server表中插入多个值?

来自分类Dev

如何在SQL Server中“使用”架构

来自分类Dev

如何在SQL Server中使用结果集创建表

来自分类Dev

如何在SQL Server中进行汇总?

来自分类Dev

如何在SQL SERVER 2012中使用OPENROWSET处理NULL值?

来自分类Dev

如何在SQL Server 2012中使用最少的操作“插入或选择”?

来自分类Dev

如何在SQL Server中联接表以获得预期的结果

来自分类Dev

如何在SQL Server中联接三个表

Related 相关文章

  1. 1

    SQL:在SQL Server 2012中使用外部联接

  2. 2

    在SQL Server的多个表上进行外部联接

  3. 3

    如何在SQL Server 2012中使用GROUP BY

  4. 4

    如何在SQL Server 2012中使用转换功能?

  5. 5

    如何在SQL Server 2012中使用replace,substring charindex从表中获取ID?

  6. 6

    如何在SQL Server 2012中使用动态列进行查询

  7. 7

    如何在使用SQL Server 2012中的日历表上的联接的查询中显示缺少的日期

  8. 8

    如何在SQL Server中联接多个表?

  9. 9

    如何在SQL Server中多联接

  10. 10

    SQL Server 2012:如何从多个表联接中获取计数组

  11. 11

    如何在SQL Server查询中使用联接和sum()

  12. 12

    如何在SQL Server中使用单个查询在多个表中插入数据?

  13. 13

    如何在SQL Server 2008中将行更改为列(多个表,联接等)

  14. 14

    如何在SQL Server的两张表联接中使用unpivot?

  15. 15

    如何在SQL Server中使用substr?

  16. 16

    如何在SQL Server中使用TOP

  17. 17

    如何在SQL Server中使用STDifference?

  18. 18

    如何在SQL Server中使用IF Else

  19. 19

    如何在 SQL Server 中重塑表?

  20. 20

    我们如何在 SQL Server 2012 的触发器中使用会话值并插入到表中?

  21. 21

    如何在设计视图中使用SQL Server 2012修改表

  22. 22

    如何在SQL Server表中插入多个值?

  23. 23

    如何在SQL Server中“使用”架构

  24. 24

    如何在SQL Server中使用结果集创建表

  25. 25

    如何在SQL Server中进行汇总?

  26. 26

    如何在SQL SERVER 2012中使用OPENROWSET处理NULL值?

  27. 27

    如何在SQL Server 2012中使用最少的操作“插入或选择”?

  28. 28

    如何在SQL Server中联接表以获得预期的结果

  29. 29

    如何在SQL Server中联接三个表

热门标签

归档