【发布时间】:2014-09-21 05:00:45
【问题描述】:
这是我的表结构
Id INT
RecId INT
Dated DATETIME
Status INT
这是我的数据。
状态表(包含不同的状态)
Id Status
1 Created
2 Assigned
日志表(包含记录所经历的不同状态的日志 (RecId))
Id RecId Dated Status
1 1 2013-12-09 14:16:31.930 1
2 7 2013-12-09 14:27:26.620 1
3 1 2013-12-09 14:27:26.620 2
3 8 2013-12-10 11:14:13.747 1
3 9 2013-12-10 11:14:13.747 1
3 8 2013-12-10 11:14:13.747 2
我需要从这些数据中生成以下格式的报告。
Dated Created Assigned
2013-12-09 2 1
2013-12-10 3 1
这里的行数据是按日期计算的。 Created 的计算方式为(上一个记录(日期)Created count - Previous date Assigned count)+ Todays Created count。
例如,如果在日期 2013 年 12 月 10 日创建了三个条目以记录表,其中两个具有已创建状态,而一个具有已分配状态。因此,在我要为报告构建的所需视图中,对于日期 2013-12-10,视图将返回 Created as 2 + 1 = 3 其中 2 是日志表中新插入的记录,1 是前一天剩余的记录数(创建 - 分配)2 - 1。
我希望情况很清楚。请询问我是否需要更多信息。
请帮我用sql来构造上面的视图。
【问题讨论】:
-
假设记录的顺序是“创建然后分配”是否正确?那么创建的记录日期会小于分配的日期吗?
-
@Mike 的确切创建比分配的记录更早
标签: sql tsql sql-server-2008-r2