2009/12/29 Bruno Carneiro <[email protected]>:
>
> Bem, estou recebendo uma mensagem de erro. Acho que dispensa maiores
> informações.
> Erro de SQL:
>
> ERRO:  coluna "m.idmovimentacao" deve aparecer na cláusula GROUP BY ou ser
> utilizada em uma função de agregação
>
> Indicação de entrada :
> SELECT * FROM financeiro.fin_movimentacao AS m
> INNER JOIN financeiro.fin_subcategoria AS c ON m.idsubcategoria =
> c.idsubcategoria
> GROUP BY c.idcategoria
>
> m.idmovimentação é a pk. Eu tentei colocála em GROUP BY mas a única
> diferença é que recebo o mesmo erro referindo-se a segunda coluna, ao invés
> de referir-se a primeira que é idmovimentacao
> --


Como você não está utilizando nenhuma função de agregação [1] penso
que o que deseja é a relação das c.idcategoria existentes em sua
tabela.

Tente usar o DISTINCT ON [2]:

SELECT DISTINCT ON(c.idcategoria) *
  FROM financeiro.fin_movimentacao AS m
  INNER JOIN financeiro.fin_subcategoria AS c
        ON m.idsubcategoria = c.idsubcategoria
GROUP BY c.idcategoria;

[1] http://www.postgresql.org/docs/current/interactive/functions-aggregate.html
[2] 
http://www.postgresql.org/docs/current/interactive/queries-select-lists.html#QUERIES-DISTINCT
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a