0

我有这样的数据记录,我想从以前填充的记录中更新空白记录 在此处输入图像描述

ID  L_nbr   Code    Descripton
t001    5   S001    ABCDE
t001    12  S002    FGHI
t001    15          JKM
t001    17          NOPE
t001    18  S003    RST
t001    19          UVW
t001    21  S004    ASDS34E
t001    24          GTUS
t001    27          UNIF

预期数据如下

ID  L_nbr   Code    Descripton
t001    5   S001    ABCDE
t001    12  S002    FGHI
t001    15  S002    JKM
t001    17  S002    NOPE
t001    18  S003    RST
t001    19  S003    UVW
t001    21  S004    ASDS34E
t001    24  S004    GTUS
t001    27  S004    UNIF

请帮助我使用 Teradata 实现上述结果

谢谢

4

1 回答 1

0

我不认为 Aster 支持ignore nulls 上的选项lag()。因此,您可以分两步执行此操作。使用累积和定义“岛屿”。然后传播价值:

select t.*, max(code) over (partition by t_id, grp) as imputed_code
from (select t.*,
             count(code) over (partition by t_id
                               order by l_nbr
                               rows between unbounded preceding and current row
                              ) as grp
      from t
     ) t
于 2020-05-19T13:31:44.517 回答