我有两个表并没有真正关联,但需要合并。所以我在两张桌子上使用 union all 。联合表按日期排序,因此一个表的行分散在另一个表的行中。我需要做的是获取列的运行计数,以便我可以对元素进行分组。
为了进一步解释,表 A 保存容器被清空的日期,而表 B 保存容器内容的每日条目。我需要合并这两个表,这样我就有一个表,可以在容器清空之前获取容器的信息总和。
所以我需要这样的东西:
表 A:
Location_ID Empty Date
123 3/2/13
123 3/10/13
123 4/1/13
表 B:
PSI Entry Date Location_ID
120 2/28/13 123 (same for all)
130 3/1/13
100 3/8/13
110 3/9/13
200 3/18/13
180 3/20/13
所以经过一些魔术后的联合表看起来像:
表 C...:
Location_ID Date PSI Emptied
123 2/28/13 120 0
123 3/1/13 130 0
123 3/2/13 null 1
123 3/8/13 100 0
123 3/9/13 110 0
123 3/10/13 null 1
123 3/18/13 200 0
123 3/20/13 180 0
123 4/1/13 null 1
我需要做的是进行分组,以便我可以拥有这样的表格
表 C_b
Location_ID Date PSI Emptied Group
123 2/28/13 120 0 1
123 3/1/13 130 0 1
123 3/2/13 null 1 1
123 3/8/13 100 0 2
123 3/9/13 110 0 2
123 3/10/13 null 1 2
123 3/18/13 200 0 3
123 3/20/13 180 0 3
123 4/1/13 null 1 3
我怎样才能以这种方式获得该分组?我必须让它在 SQL Server 2008 中工作。我尝试过使用 Count、Rank 和 Row_Number。但问题在于它不会进行运行计数,它只会显示每行的总计数。