U moet voorwaardelijke aggregatie gebruiken om de verschillende leave_hours
op te tellen afzonderlijk:
SELECT employee_id,
SUM(overtime_hours) AS ot,
SUM(CASE WHEN leave_type = 1 THEN leave_hours ELSE 0 END) AS leave_1,
SUM(CASE WHEN leave_type = 2 THEN leave_hours ELSE 0 END) AS leave_2
FROM `table`
GROUP BY employee_id
Uitgang:
employee_id ot leave_1 leave_2
3 2.3 7.6 5
Houd er rekening mee dat als u getallen met drijvende komma gebruikt om de uren op te slaan, u mogelijk moet ROUND
de resultaten.