我有一个表T1(col1,col2,info),col1是主键。现在我有另一个表T2(col1,col2,col3),col1是主键。例如,
T1:
col1 col2 info
num1 data1 info1
num2 data2 info2
T2
col1 col2 col3
num1 data1 Y
num2 data2 N
num3 data3 NULL
如何编写用T2更新T1的脚本?结果应该是 T1:
col1 col2 col3 info
num1 data1 Y info1
num2 data2 N info2
num3 data3 NULL NULL
另外,如果我的T2不是表,而是excel文件,是否可以编写脚本将数据导入T1并同时更新T1?
答案 0 :(得分:1)
将col3
手动添加到T1
会更容易。更新脚本是两部分:更新和插入
UPDATE T1
SET
T1.col3 = T2.col3
FROM T1 INNER JOIN T2 ON T1.col1 = T2.col1;
INSERT INTO T1
(col1, col2, col3, info)
SELECT T2.col1, T2.col2, T2.col3, NULL
FROM T2
WHERE NOT T2.col1 IN (SELECT col1 FROM T1);
为了使T2
成为Excel文件,您需要将T2
设置为OLEDB表(使用链接服务器和MS Jet驱动程序)。