WITH SurveyResults AS (
SELECT RecommendNPS,
CASE
WHEN RecommendNPS BETWEEN 0 AND 6 THEN 'Detractor'
WHEN RecommendNPS BETWEEN 7 AND 8 THEN 'Neutral'
WHEN RecommendNPS BETWEEN 9 AND 10 THEN 'Promoter'
END RecommendGroup
FROM SatSurvey
WHERE CollectionDate between '1/1/2018' AND '12/31/2018'
AND RecommendNPS IS NOT NULL
)
SELECT NPSG.Answer, count(SR.RecommendGroup) HowMany
FROM NPSGroups NPSG
LEFT JOIN SurveyResults SR on NPSG.Answer = sr.RecommendGroup
GROUP BY NPSG.Answer,NPSG.SortOrder