Mam dwie tabele z następujących dziedzinSQL kwerenda wybierająca za pomocą łączy, grupa przez i funkcji agregujących
emp_table: emp_id, emp_name
salary_increase: emp_id, inc_date, inc_amount
jestem zobowiązany napisać kwerendę, która daje dane pracownika, ile razy pracownik otrzymał podwyższenie wynagrodzeń, wartość maksymalnej kwoty zwiększenia i data tego zwiększenia. Oto, co mam do tej pory:
SELECT e.*, count(i.inc_amount), max(i.inc_amount)
FROM salary_increase AS i
RIGHT JOIN emp_table AS e
ON i.emp_id=e.emp_id
GROUP BY e.emp_id;
to poprawnie podaje wszystkie wymagania poza datą przyznania maksymalnego podwyższenia. Próbowałem następujących bez powodzenia:
SELECT e.*, count(i.inc_amount), max(inc_amount), t.inc_date
FROM salary_increase AS i
RIGHT JOIN emp_table AS e
ON i.emp_id=e.emp_id
RIGHT JOIN
(
SELECT emp_id, inc_date FROM salary_increase
WHERE inc_amount=max(inc_amount) GROUP BY emp_id
) AS t
ON e.emp_id=t.emp_id
GROUP BY e.emp_id;
powoduje to błąd "Nieprawidłowe użycie funkcji grupowej". Czy ktoś wie, co robię źle?