Hi.. I'm trying to create a case statement so that it does only row_number for the valid partition...
CASE WHEN (COALESCE(UserFlg,ProdFlg) = 1 OR ValidProdFlg=0) THEN 0 ELSE ROW_NUMBER() OVER(PARTITION BY CustID,ProdID ORDER BY ProdCreatedDt ASC ,ProdSeqNbr ASC) END AS CustProdFILO,
CASE WHEN (COALESCE(UserFlg,ProdFlg) = 1 OR ValidProdFlg=0) THEN 0 ELSE ROW_NUMBER() OVER(PARTITION BY CustID,ProdID ORDER BY ProdCreatedDt DESC ,ProdSeqNbr DESC) END AS CustProdLIFO,
CASE WHEN (COALESCE(UserFlg,ProdFlg) = 1 OR ValidProdFlg=0) THEN 0 ELSE ROW_NUMBER() OVER(PARTITION BY ProdID ORDER BY ProdCreatedDt ASC ,ProdSeqNbr ASC) END AS ProdFILO,
CASE WHEN (COALESCE(UserFlg,ProdFlg) = 1 OR ValidProdFlg=0) THEN 0 ELSE ROW_NUMBER() OVER(PARTITION BY ProdID ORDER BY ProdCreatedDt DESC,ProdSeqNbr DESC) END AS ProdLIFO,
Here As soon as 1 record becomes UserFlg or ProdFlg=1 or validProdflg=0 then the row_number() is not coming out properly. Basically trying to create a valid "first in last out " & "last in first out"
Please let me know there are any solution...