【发布时间】:2011-07-17 10:56:48
【问题描述】:
我有 2 个具有相同列的表 - T1、T2。我想根据键列从 T2 中存在的列更新表 T1 列:如果键列存在,则从 T2 更新 T1 的其余列,如果不存在,则将整行从 T2 插入到 T1 .
这个查询不起作用:
IF EXISTS (SELECT keyC FROM T2 WHERE keyC in (select keyC from T1))
UPDATE T1 SET T1.c1 = T2.c1,
T1.c2 = T2.c2,
from T2 WHERE T2.keyC in (select keyC from T1)
ELSE (INSERT INTO T1 select * from T2)
知道怎么解决吗?
提前致谢,
格雷格
【问题讨论】:
-
您是否需要将其作为单个语句执行,因为它不能在一个语句中完成
标签: sql-server-2005 insert exists