我一直在尝试搜索此内容,但不确定我是否使用了正确的术语。或者它可能只是它是不可能的。但我想要做的是更新表中构成总和值小于设定值的所有记录。
所以这里有一个例子:
ID type amount received_date processed_date
1 debit 10 7/1/2010 NULL
2 debit 10 7/2/2010 NULL
3 debit 10 7/3/2010 NULL
现在我想要做的是更新所有等于总和小于 22 的记录。所以当我做总和时,id 1 和 2 将等于 20,小于 22。但它也只需要记录处理日期为空。我也希望它能够工作,以便它从最旧更新到最新。
基本上这是我用伪代码编写它的方式:
UPDATE credits
SET date_processed = '8/1/2010'
WHERE SUM(amount) <= @total AND
credit_type = [debits]
但我知道这是行不通的。所以我希望一些SQL大师可能有想法。
我确信我可以在光标内写这个,但我想知道是否有基于集合的方法来执行这个。
编辑:我更新了下面的表格和简要说明,以更好地描述我的情况。