Consulta de seleção SQL usando associações, agrupar por e funções agregadas
Eu tenho duas tabelas com os seguintes campos
emp_table: emp_id, emp_name
salary_increase: emp_id, inc_date, inc_amount
Preciso escrever uma consulta que forneça os detalhes do funcionário, o número de vezes que um funcionário recebeu um aumento salarial, o valor do valor máximo de aumento e a data desse aumento. Aqui está o que eu tenho até agora:
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;
isso corretamente dá todos os requisitos para além da data em que o aumento máximo foi concedido. Eu tentei o seguinte sem sucesso:
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;
isto dá um erro 'Uso inválido da função de grupo'. Alguém sabe o que estou fazendo errado?