比较两个连续的行并用teradata中的下一行更新第一行
有人能帮我解决这个问题吗 我需要比较下表的连续行,并用第二行字段更新第一行字段比较两个连续的行并用teradata中的下一行更新第一行,teradata,Teradata,有人能帮我解决这个问题吗 我需要比较下表的连续行,并用第二行字段更新第一行字段 MBR JOIN DT FIELD1 FIELD2 FIELD3 OPEN_DT CLOS_DT LLKEY UPD_LLKEY 12345 2014-07-30 D UNK S 2014-07-31 **2014-08-24** 715700024 **721200013** 12345 2014-09-11 D
MBR JOIN DT FIELD1 FIELD2 FIELD3 OPEN_DT CLOS_DT LLKEY UPD_LLKEY
12345 2014-07-30 D UNK S 2014-07-31 **2014-08-24** 715700024 **721200013**
12345 2014-09-11 D UNK UNK **2014-09-13** 2014-10-01 **718600061** 735800004
12345 2014-09-29 D UNK UNK 2014-10-01 8888-12-31 735800004 735800004
这里我需要比较两个连续的行first_line.CLOS_DT和second_line.OPEN_DT,如果不匹配,需要用第二行更新first_line.CLOS_DT..OPEN_DT,UPD_LLKEY和第二行的LLKEY。并且期望的输出是
MBR JOIN DT FIELD1 FIELD2 FIELD3 OPEN_DT CLOS_DT LLKEY UPD_LLKEY
12345 2014-07-30 D UNK S 2014-07-31 **2014-09-13** 715700024 **718600061**
12345 2014-09-11 D UNK UNK **2014-09-13** 2014-10-01 **718600061** 735800004
12345 2014-09-29 D UNK UNK 2014-10-01 8888-12-31 735800004 735800004
如有任何帮助,我们将不胜感激
谢谢,
Apmsa将此保存到新的表格节奏
SELECT mb_r
,join_dt
,open_dt
,close_dt
,COALESCE(MAX(open_dt) OVER (PARTITION BY mb_r ORDER BY open_dt ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING), close_dt) A2
FROM TEMP2
现在从速度表更新速度2表
UPDATE temp2 C1
FROM (SELECT mb_r
,join_dt
,open_dt
,close_dt
,A2 from tempo) D1
SET close_dt = d1.A2
WHERE C1.mb_r = d2.mb_r
and c1.join_dt=d2.join_dt;
您还可以使用与上述查询类似的方式包括需要更新的其他coulmn