【发布时间】:2017-03-27 10:16:41
【问题描述】:
表一:#tdac
insert #tdac(secnum,bucketcode,acc,defqty)
select 'ax1','cor',1,'012',-100
insert #tdac(secnum,bucketcode,acc,defqty)
select 'ax1','cor',2,'012',-50
表2:#dac
insert #dac(secnum,bucketcode,acc,defqty)
select 'ax1','cor',0,'012',-125
我想通过从最旧的caseid 开始从表 2 中减去 defqty 来更新表 1 中的 dfqty。
If #tdac.defqty-#dac.defqty > 0, then
#tdac.defqty=0 and #dac.defqty = (#tdac.defqty-#dac.defqty)
proceed to the next row.
Continue this until the value of (#tdac.defqty-#dac.defqty) becomes less than 0.
在我的示例中,我想如下更新表 1。请帮忙
secnum bucketcode caseid acc defqty
ax1 cor 1 012 0 ((-100 -(-125)=25)>0, So make it 0)
ax1 cor 2 012 -25 ((-50 -(-25)=-25)<0, So make it -25)
【问题讨论】:
-
这个问题解决了吗?您需要进一步的帮助吗?请给我一个提示:如果这个问题得到了解决,您将非常好心,在(最佳)答案的投票计数器下方勾选接受检查。这将 1) 将此问题标记为已解决 2) 让追随者更容易找到最佳解决方案 3) 向回答者支付积分和 4) 向您支付积分。一旦您自己越过了 15 点边界,您还被要求对贡献进行投票。这是说谢谢的方式。编码快乐!
标签: sql sql-server sql-server-2008 loops