I'm trying to query Postgre with the following query:
SELECT t3.desc_serv,
t3.nm_serv,
t1.nm_usu,
count(t2.id_atend) TOTAL_ATENDIMENTO
FROM usuarios t1
INNER JOIN historico_atendimentos t2 ON t1.id_usu = t2.id_usu
INNER JOIN servicos t3 ON t2.id_serv = t3.id_serv
WHERE t2.dt_fim::text LIKE '%2013-10%'
GROUP BY t1.nm_usu, t3.desc_serv, t3.nm_serv, t3.id_serv, t1.id_usu
In MySQL this same query was doing just like this:
SELECT t3.desc_serv,
t3.nm_serv,
t1.nm_usu,
count(t2.id_atend) TOTAL_ATENDIMENTO
FROM usuarios t1
INNER JOIN historico_atendimentos t2 ON t1.id_usu = t2.id_usu
INNER JOIN servicos t3 ON t2.id_serv = t3.id_serv
WHERE t2.dt_fim LIKE '%2012-06%'
GROUP BY t3.id_serv, t1.id_usu
I do not understand why but in Postgre to work "right" I need to leave group by
as it is, but if I leave the same as MySQL, that's how I need to generate error, saying that I need to add the other select fields in the group. p>
ERROR: column "t3.desc_serv" should appear in the GROUP BY clause or be used in an aggregate functionLINE 1: SELECT t3.desc_serv,