_as_ARAP_Terms_Unpivot
CREATE OR ALTER VIEW _as_ARAP_Terms_Unpivot AS /*TO VERIFY: is 0 based or 1 based. 2nd note: might need to handle Interval 7 if null.*/ /*Usage: SELECT * FROM Client C LEFT JOIN _as_ARAP_Terms_Unpivot T ON T.iTermID = C.iAgeingTermID AND C.AccountTerms = T.IntervalNumber */ SELECT iTermID, iModule, IntervalDay, IntervalValue,CASE IntervalDay WHEN 'iInterval1Days' THEN 1-1 WHEN 'iInterval2Days' THEN 2-1 WHEN 'iInterval3Days' THEN 3-1 WHEN 'iInterval4Days' THEN 4-1 WHEN 'iInterval5Days' THEN 5-1 WHEN 'iInterval6Days' THEN 6-1 WHEN 'iInterval7Days' THEN 7-1 END AS IntervalNumber FROM ( SELECT iTermID, iModule, iInterval1Days, iInterval2Days, iInterval3Days, iInterval4Days, iInterval5Days, iInterval6Days, COALESCE(iInterval7Days,iInterval6Days+1) iInterval7Days FROM dbo._etblTerms ) AS t UNPIVOT ( IntervalValue FOR IntervalDay IN (iInterval1Days, iInterval2Days, iInterval3Days, iInterval4Days, iInterval5Days, iInterval6Days, iInterval7Days) ) AS unpivoted