我有一张格式为
的表格表1
COL1 COL2 COL3 COL4 COL5 COL6
aaaa 92809 ndjhd 3948309 NULL 90340
aaaa 90343 nadfj 1212121 NULL 21000
bbbb 20392 ndaop 2389299 NULL 23874
表1应该通过从其他格式为
的表中获取值来更新表2
COL1 COL2 COL5
aaaa 92809 345
bbbb 20392 293
我使用以下更新statemnt来更新table1中的col5,其中包含table2中col5的值
UPDATE A
SET A.col5=B.col5
FROM table1 A
INNER JOIN (select distinct col1,col2,col5 from table2) B
ON A.col1=B.Col1
我面临的问题是这个更新语句只更新第一行。如何更新table1的COL 5,其中COL1在两个表之间匹配。
答案 0 :(得分:1)
代码似乎是正确的。测试'aaaa'不包含空格。这是一个简单的测试查询。
select a.*, case when exists(select 1 from table2 b where b.col1=a.col1) then 'columns equal' else 'columns different' end col5_compare
from table1 a