|
Archives of the TeradataForumMessage Posted: Thu, 03 Jan 2008 @ 18:35:37 GMT
Krithiga, Check if this SQL helps you (you may want to format it for better readibility). Sample records considered item_num advc_num effective_date 278051 519284 03/22/2007 278051 519291 03/23/2007 278051 519284 03/25/2007 278051 519293 03/25/2007 278051 550949 11/04/2007 278051 550953 11/04/2007 278051 550962 11/04/2007 SEL Item_Num ,Advc_Num ,Effective_Date ,CASE WHEN SUM(Item_Num) OVER(ORDER BY Effective_Date ASC, Item_Num, Advc_Num ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - Item_Num = 0 THEN Item_Num ELSE SUM(Item_Num) OVER(ORDER BY Effective_Date ASC, Item_Num, Advc_Num ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - Item_Num END AS Item_Num_1 ,CASE WHEN SUM(Advc_Num) OVER(ORDER BY Effective_Date ASC, Item_Num, Advc_Num ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - Advc_Num = 0 THEN Advc_Num ELSE SUM(Advc_Num) OVER(ORDER BY Effective_Date ASC, Item_Num, Advc_Num ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) - Advc_Num END AS Advc_Num_1 ,ROW_NUMBER() OVER(ORDER BY Effective_Date ASC, Item_Num, Advc_Num) AS RowSeq ,COUNT(*) OVER(ORDER BY Effective_Date ASC, Item_Num, Advc_Num) AS RowCnt FROM TEST WHERE Effective_Date < '2007/11/04' QUALIFY RowSeq = RowCnt ORDER BY 3 ASC, 1, 2; Output item_num advc_num effective_date Item_Num_1 Advc_Num_1 RowSeq RowCnt 278051 519293 03/25/2007 278051 519284 4 4 Hope this helps! Thanks, Vinay Bagare
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||