Ho due tabelle con i seguenti campiSQL query di selezione utilizzando join, gruppo da e funzioni di aggregazione
emp_table: emp_id, emp_name
salary_increase: emp_id, inc_date, inc_amount
sono tenuto a scrivere una query che fornisce i dettagli dei dipendenti, il numero di volte in cui un dipendente ha ricevuto un aumento di stipendio, il valore dell'importo massimo di aumento e la data di tale aumento. Ecco quello che ho finora:
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;
dà questo modo corretto tutti i requisiti a parte la data in cui è stato assegnato l'aumento massimo. Ho provato quanto segue senza successo:
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;
questo dà un errore 'Uso non valido della funzione di gruppo'. Qualcuno sa cosa sto sbagliando?