|
Archives of the TeradataForumMessage Posted: Thu, 04 Aug 2011 @ 13:50:41 GMT
Hi, I have this requirement to replace NULL values of a particular column with the previous NOT NULL value in the same column ( when the table is sorted/partitioned on a particular column). E.g. If the column has values like this - Col1 1 2 ? ? 8 ? ? ? 4 ? I want the column to be updated like this (a new column, say Col2, can also be created if updating is not possible) - Col1 1 2 2 - Previously NULL 2 - Previously NULL 8 8 - Previously NULL 8 - Previously NULL 8 - Previously NULL 4 4 - Previously NULL I am using the following code to generate a new column - create table temp_DB.adas_tmp1_div7_03 as ( sel a.*, case when a.act_oh_invnt is null then (cast(sum(case when a.act_oh_invnt is null then 0 else a.act_oh_invnt end) over (partition by ftyirlsku order by wk_no rows between 1 preceding and current row) as decimal(15,2))) else a.act_oh_invnt end as aoh_temp from temp_DB.adas_tmp1_div7_02 a) with data primary index (ftyirlsku,wk_no); But the problem is this code is failing when there are more than 2 consecutive NULL's. Kindly help. Thanks, Debojit.
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||