如何在sql server中加入和获取结果

时间:2013-04-15 09:29:53

标签: sql sql-server sql-server-2008

基于下表(Table1和Table2)的结构。我想得到一个Table3。我怎么能在Sql Server中执行此操作?

表1

ID Name
1   A
2   B
3   C

表2

ID Name
1  D
2  E

预期输出

ID Name
1   D
2   E
3   C

3 个答案:

答案 0 :(得分:6)

您可以将COALESCE与外部联接

一起使用
SELECT t1.ID, 
       COALESCE(t2.Name, t1.Name)AS Name 
FROM   table1 t1 
       LEFT OUTER JOIN table2 t2 
               ON t1.ID = t2.ID

Demo(插入Table3

答案 1 :(得分:2)

select 
Table1.ID,case when Table2.Name is null then Table1.Name else Table2.Name end
from
Table1 left join Table2 on Table1.id=Table2.id

您的数据不是太多,我不确定这是不是您想要的。对于你的例子,我认为它有效

答案 2 :(得分:0)

选择t1.id,t2.name来自table1 t1左外连接table2 t2 on t1.id = t2.id

我希望这会产生像

这样的结果
t1.id  t1.name  t2.id  t2.name
1       A        1       D
2       B        2       E
3       C        NULL    NULL