--create a table for some sample dataIF OBJECT_ID('tempdb..#TempTable') IS NOT NULLDROP TABLE #TempTableCREATE TABLE #TempTable ( [ID] INT NOT NULL, [Col1] INT NULL, [Col2] INT NULL, PRIMARY KEY (ID)) --insert random numbers with a few nulls tossed inINSERT INTO #TempTableSELECT 1,ABS(CAST(NEWID() AS BINARY(6))%10)+1,ABS(CAST(NEWID() AS BINARY(6))%10)+1UNIONSELECT 2,ABS(CAST(NEWID() AS BINARY(6))%10)+1,ABS(CAST(NEWID() AS BINARY(6))%10)+1UNIONSELECT 3,NULL,ABS(CAST(NEWID() AS BINARY(6))%10)+1UNIONSELECT 4,ABS(CAST(NEWID() AS BINARY(6))%10)+1,ABS(CAST(NEWID() AS BINARY(6))%10)+1UNIONSELECT 5,ABS(CAST(NEWID() AS BINARY(6))%10)+1,NULLUNIONSELECT 6,ABS(CAST(NEWID() AS BINARY(6))%10)+1,ABS(CAST(NEWID() AS BINARY(6))%10)+1--raw tableSELECT * FROM #TempTable ORDER BY ID--Col1+Col2 = Col3SELECT ID ,Col1 ,Col2 ,Col3 = ISNULL(Col1,0) + ISNULL(Col2,0)FROM #TempTableORDER BY ID
SELECT name, (CASE WHEN(salary) <= 0 THEN NULL ELSE salary END) + (CASE WHEN(bonuses) <= 0 THEN NULL ELSE bonuses END) ) as total FROM YourTableName
SELECT Name, Total = ISNULL(Salary,0) + ISNULL(Bonuses,0) FROM dbo.YourTable;