【发布时间】:2013-07-09 06:21:38
【问题描述】:
我有 2 个表,结构如下:
表 A:
id_A col1
1 val1
2 val2
3 val3
... ....
表 B:
id_B mycol id_A_val
1 smval1 null
2 null 1
3 null 2
... ... ...
我想将表 A 的 col1 中的值复制到表 B 的 mycol 这是我的预期结果:
预期:
id_B mycol id_A_val
1 smval1 null
2 val1 1
3 val2 2
... ... ...
我尝试了几种 SQL UPDATE 组合。这是我尝试过的最新一次 - 但它会抛出一个错误,提示“子查询返回超过 1 个值。”
试过了:
UPDATE [dbo].[Table_B]
SET MYCOL = (SELECT inst.[COL1] FROM [dbo].[TABLE_A] a, [dbo].[TABLE_B] b
WHERE a.[ID_A] = b.[ID_A_VAL] AND b.ID_A_VAL IS NOT NULL)
有人可以指出正确的方向以获得有效的查询吗?
【问题讨论】:
-
意味着您有 2 个值需要更新该列,在
set mycol= (不知道将什么值放入列中,无论是 val1 还是 val2)
标签: sql sql-server sql-update multiple-records