两表比对后找出不同的部分更新,很复杂的一种 sql2000 下
A表 数据关系 ys=yuan-yuan*zk-zr
id yuan ys zk zr
a001 100 70 0.2 10
b002 250 205 0.1 20
a002 200 160 0.1 20
id code yuan ys yh
a001 0001 30 30 0 ---未计算的,需更新部分
a001 0003 50 50 0 ---未计算的,需更新部分
a001 0002 20 20 0 ---未计算的,需更新部分
b002 0001 100 82 18
b002 0002 80 65.6 14.4
b002 0003 70 57.4 12.6
a002 0001 40 40 0 ---未计算的,需更新部分
a002 0002 60 60 0 ---未计算的,需更新部分
a002 0003 100 100 0 ---未计算的,需更新部分
id code yuan ys yh
a001 0001 30 21 9
a001 0003 50 35 15
a001 0002 20 14 6
b002 0001 100 82 18
b002 0002 80 65.6 14.4
b002 0003 70 57.4 12.6
a002 0001 40 32 8
a002 0002 60 48 12
a002 0003 100 80 20
update b set b.yh=b.yuan*a.zk+b.yuan*(a.zr/a.yuan),
b.ys=b.yuan-(b.yuan*a.zk+b.yuan*(a.zr/a.yuan))
from a
where a.id=b.id
and a.ys<>(select SUM(ys) from b as tb where tb.id=a.id group by b.id)
from a,b where a.id=b.id and a.xx>b.xx
诸如此类
[其他解释]
老大:
虽然对您的回答很感谢,也很敬佩你的级别,但我仔细又仔细的写例子就是怕看不清楚,大体的我也知道,在这里提问就是因为细节处不知道啊,而且一旦回答次数太多,就不会有人再来看贴,也不会回答了,还请看仔细后再回答,拜请不能仔细回答的可以只看不答,非常感谢!
[其他解释]
在这这么多年,发现级别不在多高,在认真,楼上谢谢你!