1

我有一个表 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?

4

1 回答 1

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 驱动程序)。

于 2012-08-27T22:36:13.083 回答