我有一个表(time_period)从两个连续行检索组合的查询
该表列出了几个时间段,如下所示。
unique_id type_id sequence_number billing_id ...
13 LJK1 1 4356
14 CNS3 2 4356
15 LJK1 3 4356
16 AOX4 4 4356
17 CNS3 1 9827
18 POD2 2 9827
它变得棘手。我需要根据递增的序列号将所有type_id对从一个句点返回到下一个句点。例如,对于BILLING_ID =“4356”,我需要检索这个结果集
-----------------------------------
LJK1 | CNS3 -- type_ids pair from seq 1 to seq 2
CNS3 | LJK1 -- type_ids pair from seq 2 to seq 3
LJK1 | AOX4 -- type_ids pair from seq 3 to seq 4
sequence_numbers的每顺序计数是可变的(高达10,低至2)。我会为X数量的订单做这件事。由此,我会做进一步处理,但让这些配对本身令我感到困惑。我不需要结果集中的order_id或序列号。
这里是否需要递归CTE?也许游标?或者也许使用枢轴?我刚刚进行了头脑风暴和研究,但我对其中的任何一方都没有太多经验,可以使用某些方向。
使用SQL Server 2008
为什么你需要对在SQL响应,而不是列出升序排列的typeid的,并在显示器编程配对呢? – roberttdev 2011-03-30 14:21:20
@roberttdev:好主意 – RollingBoy 2011-03-30 14:23:27
是sequence_numbers ... sequential? – LesterDove 2011-03-30 14:27:42