Table A ID VALUE 0 0 1 0 2 0 3 0Table B ID AID VALUE 1 2 2 2 3 3 3 5 5 要把表A中的VALUE更新为表B中的VALUE, 条件是A.ID 出现在 B.AID中. 有更新的更新, 没更新的保持原值, 在表A中不存在的不更新. 具体如下 (更新后)表A ID VALUE 0 0 没更新的保持原值 1 0 没更新的保持原值 2 2 有更新的更新 3 3 有更新的更新我使用了 czbbbs() 提供的SQL update A set A.VALUE = ( select B.VALUE from B where A.ID=B.ID) 得到的结果是 ID VALUE 0 1 2 2 3 3 没更新的数据被清除掉了, 请问如何解决??
ID VALUE
0 0
1 0
2 0
3 0Table B
ID AID VALUE
1 2 2
2 3 3
3 5 5
要把表A中的VALUE更新为表B中的VALUE, 条件是A.ID 出现在 B.AID中.
有更新的更新, 没更新的保持原值, 在表A中不存在的不更新.
具体如下 (更新后)表A
ID VALUE
0 0 没更新的保持原值
1 0 没更新的保持原值
2 2 有更新的更新
3 3 有更新的更新我使用了 czbbbs() 提供的SQL
update A set A.VALUE = (
select B.VALUE from B where A.ID=B.ID)
得到的结果是
ID VALUE
0
1
2 2
3 3
没更新的数据被清除掉了, 请问如何解决??
可能你的表,上锁了。
检查一下。