I'm trying to provide an overall result of a formula ([CALCULATION]) and then in two extra columns ([NO_TENURE] & [TENURE]) the same calculation but using "CASE WHEN" to filter the information based on another column called [TENURE], everything in one single line like this:
MONTH TYPE CALCULATION NO_TENURE TENURE
----------- ---------- --------------------------------------- --------------------------------------- ---------------------------------------
1 TYPE1 5.33333333333 5.33333333333 6.81333333333
Right now is being shown this way:
MONTH TYPE CALCULATION NO_TENURE TENURE
----------- ---------- --------------------------------------- --------------------------------------- ---------------------------------------
1 TYPE1 5.33333333333 5.33333333333 NULL
1 TYPE1 6.81333333333 NULL 6.81333333333
1 TYPE2 5.55555555555 5.55555555555 NULL
1 TYPE2 5.95238095238 NULL 5.95238095238
This is the code I'm using:
IF OBJECT_ID('TEMPDB..#TEST') IS NOT NULL DROP TABLE #TEST
GO
CREATE TABLE #TEST
(
MONTH INT,
TYPE VARCHAR(10),
TENURE INT,
NUMERADOR INT,
DENOMINADOR INT
)
INSERT INTO #TEST
VALUES (1, 'TYPE1', 35, 320, 60),
(1, 'TYPE1', 96, 511, 75),
(1, 'TYPE2', 23, 400, 72),
(1, 'TYPE2', 102, 500, 84);
SELECT MONTH
,TYPE
,(SUM(NUMERADOR)/CONVERT(DECIMAL(10,4) ,SUM(DENOMINADOR))) [CALCULATION]
,CASE WHEN TENURE < 90 THEN (SUM(NUMERADOR)/CONVERT(DECIMAL(10,4) ,SUM(DENOMINADOR))) END [NO_TENURE]
,CASE WHEN TENURE >= 90 THEN (SUM(NUMERADOR)/CONVERT(DECIMAL(10,4) ,SUM(DENOMINADOR))) END [TENURE]
FROM #TEST
GROUP BY MONTH,
TYPE,
TENURE
I really appreciate the help!