假设我有一个表amountInfo,其中的列(id,amount1,amount2,amount3) 其中amountX是货币值,id是int值,范围从1到10以下的一些int。因式分解SQL脚本中的while循环
目前,我有一些代码,大约做到这一点:
declare @id int, @idmax int, @amounttotal money
select @idmax = (select max(Id) from amountInfo)
while (@id <= @idmax)
begin
select @amounttotal = sum(amount1 + amount2 + amount3)
from amountinfo where [email protected]
-- do something with @amounttotal
select @[email protected]+1
end
有没有办法分解出具有某种这里复杂的select语句的while循环?我对C/C++/C#编程有经验,但SQL对我来说还是一个新手。谢谢!
编辑:基本上“ - 做某事”部分涉及插入个人@amounttotals到另一个表。我正在运行的实际查询比这更复杂,但我希望在发布一个巨大的代码示例之前先解决这个简单的问题。
我有一个想法,但我担心它会在什么*做点什么@ amounttotal *是......你能阐述一下它的条件? – 2010-05-18 18:39:40
我同意奥斯汀......你试图做的事会驱动你的问题的答案是什么。如果您尝试更新或插入其他记录,则可能只需使用子查询。另外,ID是否对应于多行,或者只是总是1行? – 2010-05-18 18:45:46