我创建了一个有3列的视图:service_id,professional_id和avg(评级),这个视图工作正常。分组和分组功能?
CREATE VIEW nota_profissionais
AS
SELECT
service_id, professional_id, avg(nota) AS nota_media
FROM
avaliacao, servico_executado, solicitacao
WHERE
avaliacao.service_id = servico_executado.id
AND servico_executado.id_solicitacao = solicitacao.id
GROUP BY
service_id, professional_id;
现在,每个service_id
返回(每种类型的服务),我需要证明它具有最佳的平均等级的专业。我试着这样做:
SELECT
service_id, professional_id, MAX(nota_media) AS nota_media
FROM
nota_profissionais
GROUP BY
service_id, professional_id;
但它从视图返回同样的事情,显示出每service_id为每professional_id。我知道为什么发生这种情况,但不知道如何正确执行此查询。对不起,如果我不清楚,因为英语不是我的母语。
今天提示:切换到现代,明确的'JOIN'语法!更容易编写(没有错误),更易于阅读,并且更容易转换为外连接(如果需要)。 – jarlh