I am trying to SUM two CASE functions that I just created in my query. I need both of these columns to return in my result set, but also need the sum of the two columns to return in another column as 'DegreeDays.' I tried the SUM function, but to no avail, and I tried a simple a 'HeatingDegreeDays + CoolingDegreeDays AS DegreeDays' and that didn't work either. Suggestions?
,CASE
WHEN TempLow > 60.5 THEN 0
WHEN ((TempHigh + TempLow)/2) > 60.5 THEN ((60.5-TempLow)/4)
WHEN TempHigh >= 60.5 THEN (((60.5 - TempLow)/2)-((TempHigh-TempLow)/4))
WHEN TempHigh < 60.5 THEN (60.5-(TempHigh+TempLow)/4)
END AS HeatingDegreeDays
,CASE
WHEN TempHigh < 66.25 THEN 0
WHEN ((TempHigh + TempLow)/2) < 66.25 THEN ((TempHigh-66.25)/4)
WHEN TempLow <= 66.25 THEN (((TempHigh - 66.25)/2)-((66.25-TempLow)/4))
WHEN TempLow > 66.25 THEN ((TempHigh+TempLow)/2)-66.25
END AS CoolingDegreeDays
You can repeat the formulas:
,CASE
WHEN TempLow > 60.5 THEN 0
WHEN ((TempHigh + TempLow)/2) > 60.5 THEN ((60.5-TempLow)/4)
WHEN TempHigh >= 60.5 THEN (((60.5 - TempLow)/2)-((TempHigh-TempLow)/4))
WHEN TempHigh < 60.5 THEN (60.5-(TempHigh+TempLow)/4)
END +
CASE
WHEN TempHigh < 66.25 THEN 0
WHEN ((TempHigh + TempLow)/2) < 66.25 THEN ((TempHigh-66.25)/4)
WHEN TempLow <= 66.25 THEN (((TempHigh - 66.25)/2)-((66.25-TempLow)/4))
WHEN TempLow > 66.25 THEN ((TempHigh+TempLow)/2)-66.25
END AS TotalDays
Or you can put it in a subquery (or CTE) and say:
select . . .,
(HeadingDegreeDays + CoolingDegreeDays) as TotalDays
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With