【发布时间】:2015-08-25 14:19:58
【问题描述】:
我想用 table2 中的其他行覆盖同一数据库中的行。
例如table1有如下数据:
COL1 | Col2 | Col3 | Col4 | Col5 | idDie
----------------------------------------------
0001 | unknown | unknown | unknown | unknown | frKey1
0002 | unknown | unknown | unknown | unknown | frKey2
0003 | unknown | unknown | unknown | unknown | frKey3
0004 | unknown | unknown | unknown | unknown | frKey4
0005 | unknown | unknown | unknown | unknown | frKey5
0006 | unknown | unknown | unknown | unknown | frKey6
和表2:
COL1 | Col4 | Col5 | Col6 | Col7
---------------------------------
0003 | value | value | value | value
0004 | value | value | value | value
0005 | value | value | value | value
所以我想用表 2 中的数据覆盖表 1 中的默认数据(表 2 具有相同的列名,但并非所有列都与表 1 相同!只有几列)在 COL1 > 0002 和 COL1
还有另外一个table3,格式如下:
idDie | Col22 | Col33 | Col44
frKey1 |未知 |未知 |未知 frKey2 |未知 |未知 |未知 frKey3 |未知 |未知 |未知 frKey4 |未知 |未知 |未知 frKey5 |未知 |未知 |未知 frKey6 |未知 |未知 |未知
id 为 frKey3、frKey3 和 frKey4 的模具也应该被覆盖。它们在table1中有一个引用,外键,table2中的Col6和Col7信息是应该复制到table3的信息。
是否可以仅在一个 sql 语句中做到这一点?
【问题讨论】:
标签: sql sql-server tsql sql-update