Code:
SELECT
SUM(BD.Extended), SUM(ABS( i.extended)) as Insurance
, DateDiff(qq, '01/01/2007' ,i.[Service Date 1]) AS Quarter
, SUM (CASE WHEN DateDiff(mm, BD.[Service Date 1], i.[Service Date 1]) BETWEEN 0 AND 3 THEN ABS(i.extended) END) AS b0_3
, SUM (CASE WHEN DateDiff(mm, BD.[Service Date 1], i.[Service Date 1]) BETWEEN 4 AND 6 THEN ABS(i.extended) END) AS b4_6
, SUM (CASE WHEN DateDiff(mm, BD.[Service Date 1], i.[Service Date 1]) BETWEEN 7 AND 9 THEN ABS(i.extended) END) AS b7_9
, SUM (CASE WHEN DateDiff(mm, BD.[Service Date 1], i.[Service Date 1]) BETWEEN 10 AND 12 THEN ABS(i.extended) END) AS b10_12
, SUM (CASE WHEN DateDiff(mm, BD.[Service Date 1], i.[Service Date 1]) BETWEEN 13 AND 15 THEN ABS(i.extended) END) AS b13_15
, SUM (CASE WHEN DateDiff(mm, BD.[Service Date 1], i.[Service Date 1]) BETWEEN 16 AND 18 THEN ABS(i.extended) END) AS b16_18
, SUM (CASE WHEN DateDiff(mm, BD.[Service Date 1], i.[Service Date 1]) BETWEEN 19 AND 21 THEN ABS(i.extended) END) AS b19_21
, SUM (CASE WHEN DateDiff(mm, BD.[Service Date 1], i.[Service Date 1]) BETWEEN 22 AND 24 THEN ABS(i.extended) END) AS b22_24
, SUM (CASE WHEN DateDiff(mm, BD.[Service Date 1], i.[Service Date 1]) >24 THEN ABS(i.extended) ELSE 0 END) AS b25_Above
FROM [Billing Detail] as BD
FULL OUTER JOIN [Billing Detail] AS O
ON (O.[Billing] = BD.[Billing]
AND O.[unique id] = BD.[unique id])
FULL OUTER JOIN [Billing Detail] AS I
ON (I.[billing] = O.[billing]
AND I.[item] = O.[item]
AND I.[transaction code] = O.[cpt code]
AND I.[Service Date 1] BETWEEN @StartDate AND @EndDate
AND I.[transaction Code] IN ('PIP', 'APPEA0001', 'ATTYPYMT'
, 'INPRO0000', 'INTPMTS', 'LPMT0000'
, 'MRPYMT', 'NONRESP', 'PARTI0000'
, 'PARTI0001', 'PPCA', 'PPCC'
, 'PPCH', 'PPIP', 'PSIP'
, 'PTIP', 'SETTL0000', 'SETTOPAT'
, 'SIP ', 'STMT', 'SUPCA'
, 'SUPCC', 'SUPCH', 'IP'
, 'MP', 'PIP', 'TIP'
, 'VOUCHER', 'VOUCHPHON'))
WHERE BD.extended > 0
GROUP BY DateDiff(qq, '01/01/2007' , i.[Service Date 1])