检查先前记录的特定值

时间:2020-03-25 18:12:44

标签: teradata teradata-sql-assistant

我需要Teradata的帮助,我需要检查当前STS_CD ='3',然后查看先前的记录,并检查STS_IN对于该EMP_ID是否具有'Y'并获取相应的UPDT_DT值。 我需要填充所有记录的值,而不仅仅是当前记录。

能帮您实现这一目标吗? EMP_ID STS_IN STS_CD UPDT_DT NEW_COLUMN 123 N 3 2/5/2020 2/3/2020 123 N 4 2/4/2020 2/3/2020 123 Y 5 2/3/2020 2/3/2020 123 N 6 2/2/2020

1 个答案:

答案 0 :(得分:0)

这似乎可以为您提供所需的结果

SELECT EMP_ID, STS_IN, STS_CD, UPDT_DT,
  LAST_VALUE(CASE WHEN STS_IN = 'Y' THEN UPDT_DT END IGNORE NULLS)
    OVER (PARTITION BY EMP_ID ORDER BY UPDT_DT ASC) as NEW_COLUMN
FROM EMP
ORDER BY EMP_ID, UPDT_DT DESC
相关问题