我需要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
答案 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