【发布时间】:2014-11-25 13:38:56
【问题描述】:
假设我有一个表 Tbl(代表针对不同客户所做的工作的简单时间日志)
五列 编号:整数 时间使用:浮动 IdCustomer:整数 创建:日期时间 时间计算:浮动
我在这个表中有很多条记录,(TimeCalc被初始化为value = 0)
我希望我的 SQL 做的是:
当特定客户的所有上述记录的 TimeUse 累积到值
当特定客户的所有上述记录的 TimeUse 累积到一个值 >= 10 时,TimeCalc 中的值应该是 = TimeUse for the record...
我用带有子查询的 Case 例程搞砸了,但无法让它工作。
BEFORE
Id TimeUse IdCustomer Created TimeCalc
1 2 1 14/09/09 0
2 5 2 14/09/10 0
3 2 1 14/09/11 0
4 5 2 14/09/12 0
5 4 1 14/09/13 0
6 2 2 14/09/14 0
7 4 1 14/09/15 0
8 1 1 14/09/16 0
9 3 2 14/09/17 0
10 2 1 14/09/18 0
11 4 2 14/09/19 0
AFTER
Id TimeUse IdCustomer Created TimeCalc
1 2 1 14/09/09 0
2 5 2 14/09/10 0
3 2 1 14/09/11 0
4 5 2 14/09/12 0
5 4 1 14/09/13 0
6 2 2 14/09/14 2
7 4 1 14/09/15 0
8 1 1 14/09/16 1
9 3 2 14/09/17 3
10 2 1 14/09/18 2
11 4 2 14/09/19 4
这可以在 SQL 更新中解决吗?
【问题讨论】:
标签: sql sql-server tsql stored-procedures