Dziękuję za Wasze odpowiedzi.
Poradziłem już sobie modyfikując nieco moje zapytanie i stosując grupowanie z sumą według numeru pracownika.
WHERE id_pacownika IN(1,2,3,4) albo WHERE id_pacownika IN(SELECT id ....)
To by chyba nie zdało egzaminu, bo klauzulę WHERE id_pacownika miałem aż 3 razy - z powodu unii.
Żeby nie być gołosłownym pokażę Wam tego potwora - zapytanie:
SELECT T1.id_person, T1.podstawa*T3.podstawa_kwota + T1.dzieci*T3.dzieci_kwota - (T1.podstawa*T3.podstawa_kwota * T3.podstawa_stopa / 100) -
(T1.dzieci*T3.dzieci_kwota*T3.dzieci_stopa / 100) AS kwota
FROM lists_persons T1, persons T2 LEFT JOIN cities AS T4 ON T2.miasto = T4.id, lists T3 WHERE
T3.zamknieta = 0 AND T2.id = T1.id_person AND T3.id = T1.id_list AND T1.id_person = 1885
UNION ALL
SELECT T1.id_person, T1.suma AS kwota FROM lists_persons T1, lists T2 WHERE T1.id_list = T2.id AND T2.zamknieta = 1 AND T1.id_person = 1885 AND T2.rok = 13
UNION ALL
SELECT p_id, kwota FROM other_benefits WHERE p_id = 1885 AND DATA LIKE "%2013-%"
Przerobiłem to do postaci:
SELECT osoba, sum(kwota) AS suma FROM
(
SELECT T1.id_person AS osoba, T1.podstawa*T3.podstawa_kwota + T1.dzieci*T3.dzieci_kwota - (T1.podstawa*T3.podstawa_kwota * T3.podstawa_stopa / 100) - (T1.dzieci*T3.dzieci_kwota*T3.dzieci_stopa / 100) AS kwota
FROM lists_persons T1, persons T2 LEFT JOIN cities AS T4 ON T2.miasto = T4.id, lists T3 WHERE T3.zamknieta = 0 AND T2.id = T1.id_person AND T3.id = T1.id_list
UNION ALL
SELECT T1.id_person AS osoba, T1.suma AS kwota FROM lists_persons T1, lists T2 WHERE T1.id_list = T2.id AND T2.zamknieta = 1 AND T2.rok = 13
UNION ALL
SELECT p_id AS osoba, kwota FROM other_benefits WHERE DATA LIKE "%2013-%"
) TX
GROUP BY osoba