表1
Column1 Column2
aa 12
bb 12
cc 12
aa 12
bb 12
表2
Column1 Column2
aa 12
bb 13
cc 14
aa 15
bb 16
现在,使用Sql查询我需要根据table2到column1和table1.column1记录用table2.column2更新table1.column2
update Table1 a set a.Column2 = ( select b.Column2from Table2
b where A.column1= b.column1)
上述查询引发错误:
Null values not allowed in column or variable.
我正在尝试在两个不同的系统之间复制数据。
最佳答案
似乎有 table1 行没有任何匹配的 table2 行。在这种情况下,子查询返回 NULL。我猜 table1.column2 不允许 NULL?
添加 WHERE
子句以仅更新 table2 中匹配的行。
update Table1 a set a.Column2 = (select b.Column2 from Table2 b
where A.column1= b.column1)
where exists (select 1 from Table2 b2
where A.column1= b2.column1)
关于sql - Iseries SQL 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38101883/