通过迭代SQL跟踪原始值

时间:2017-02-23 19:47:39

标签: sql recursion

假设有一个数据收集系统,每当记录被更改时,它就会被保存为带有前缀的新记录(比如M- [最近的数字在que中并且是唯一的])。

假设我获得了以下数据集:

 Customer    |         Original_Val
    1                  1020
    2                  1011
    3                  1001

我需要找到每个客户的最新价值,如下表所示:

 Customer    |    Most_Recent_Val     |    Pretained_To_Val    |     date
    1                  M-2000                   M-1050             20170225
    1                  M-1050                   M-1035             20170205
    1                  M-1035                    1020              20170131
    1                   1020                     NULL              20170101
    2                  M-1031                    1011              20170105
    2                   1011                     NULL              20161231
    3                   1001                     NULL              20150101

我想要的输出是:

 Customer    |    Original_Val     |    Most_Recent_Val    |     date
    1                 1020                   M-2000             20170225
    2                 1011                   M-1031             20170105
    3                 1001                   1001               20150101

对于客户1,有4个级别,即(M-2000&lt; -M-1050&lt; -M-1035&lt; -1020)请注意,每个客户的深度不会超过10个。< / p>

非常赞赏!提前谢谢。

0 个答案:

没有答案