En primer lugar, te perdiste group by
, por lo que aunque mysql no se queje, usted hours
y hours2
los valores no tienen sentido. En segundo lugar, eres el resultado de UNION
se puede poner en la subconsulta derivada, por lo que tendrá el total deseado:
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