Best way to do nested case statement logic in SQL Server Best way to do nested case statement logic in SQL Server sql-server sql-server

Best way to do nested case statement logic in SQL Server


You could try some sort of COALESCE trick, eg:

SELECT COALESCE(  CASE WHEN condition1 THEN calculation1 ELSE NULL END,  CASE WHEN condition2 THEN calculation2 ELSE NULL END,  etc...)


Wrap all those cases into one.


SELECT    col1,    col2,    col3,    CASE        WHEN condition1 THEN calculation1         WHEN condition2 THEN calculation2        WHEN condition3 THEN calculation3        WHEN condition4 THEN calculation4        WHEN condition5 THEN calculation5        ELSE NULL             END AS 'calculatedcol1',    col4,    col5 -- etcFROM table


You can combine multiple conditions to avoid the situation:

CASE WHEN condition1 = true AND condition2 = true THEN calculation1      WHEN condition1 = true AND condition2 = false      ELSE 'what so ever' END,