Trước hết, bạn đã bỏ lỡ group by , vì vậy, mặc dù mysql không phàn nàn về điều đó, nhưng bạn hours và hours2 các giá trị là vô nghĩa. Thứ hai, bạn là kết quả của UNION có thể được đặt trong truy vấn con dẫn xuất, vì vậy bạn sẽ có tổng số mong muốn:
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