Först och främst missade du group by
, så även om mysql inte klagar på det, har du hours
och hours2
värden är meningslösa. För det andra är du resultatet av UNION
kan läggas i härledd underfråga, så att du får önskad totalsumma :
SELECT SUM(hr) FROM
(
Select sum(hours) as hr FROM table WHERE name='xxx' and Description='Worked'
UNION ALL
Select sum(hours2) as hr FROM table WHERE name='xxx' and Description2='Worked'
)a