基于下表(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
答案 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