Re: [pgbr-geral] Problema ao tentar usar group by

2009-12-29 Por tôpico JotaComm
Olá, Bruno

2009/12/29 JotaComm 

> Olá,
>
> 2009/12/29 Bruno Carneiro 
>
>>
>> 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
>>
>
Esqueci de perguntar no email anterior, qual o objetivo da sua consulta.
Você desejar retornar as categorias existentes? Se for isso, você pode
fazer:

SELECT c.categoria
FROM financeiro.fin_movimentacao AS m INNER JOIN financeiro.fin_subcategoria
AS c USING(idsubcategoria)
GROUP BY c.categoria;

Neste caso você pode usar o USING em vez do ON porque os campos tem o mesmo
nome nas duas tabelas.


> Quando você usa o GROUP BY todos os campos que aparecem no SELECT você tem
> que especificar no GROUP BY, como você colocou * no seu SELECT, você terá
> que especificar todos eles no GROUP BY.
>
>
>
>> --
>>
>> View this message in context:
>> http://old.nabble.com/Problema-ao-tentar-usar-group-by-tp26954277p26954277.html
>> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>>
>> ___
>> pgbr-geral mailing list
>> pgbr-geral@listas.postgresql.org.br
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
> []s
> --
> JotaComm
> http://jotacomm.wordpress.com
>


[]s
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problema ao tentar usar group by

2009-12-29 Por tôpico JotaComm
Olá,

2009/12/29 Bruno Carneiro 

>
> 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
>

Quando você usa o GROUP BY todos os campos que aparecem no SELECT você tem
que especificar no GROUP BY, como você colocou * no seu SELECT, você terá
que especificar todos eles no GROUP BY.



> --
> View this message in context:
> http://old.nabble.com/Problema-ao-tentar-usar-group-by-tp26954277p26954277.html
> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


[]s
-- 
JotaComm
http://jotacomm.wordpress.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problema ao tentar usar group by

2009-12-29 Por tôpico Osvaldo Kussama
2009/12/29 Bruno Carneiro :
>
> 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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problema ao tentar usar group by

2009-12-29 Por tôpico Priscila Cardoso Gonçalves
Bruno,

nesse caso, usando a função de agregação, ele pede que você especifique no
group by todas as colunas que você selecionar no select. Se vc pediu todas,
ele vai cobrar que você coloque todas no group by.
Procuro colocar no select apenas as colunas das quais preciso mesmo, para
evitar ter que listar todas no group by.
-- 
Atenciosamente,
Priscila Cardoso Gonçalves
Linux User: #415920

Considere a proteção ao meio ambiente antes de imprimir esse e-mail.

2009/12/29 Bruno Carneiro 

>
> 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
> --
> View this message in context:
> http://old.nabble.com/Problema-ao-tentar-usar-group-by-tp26954277p26954277.html
> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Problema ao tentar usar group by

2009-12-29 Por tôpico Jose adriano Alves
Olá,

Quando usa "group by", você necessita agregacao ( operação com valores, aka
SUM, COUNT, AVG, MAX, MIN)...

Com seu "select *" tu estas a retornar todos os campos, mesmo assim estas
também a agrupar por c.idcategoria...

A pergunta é:  Que tipo de operação você quer efetuar por categoria??

Somar uma coluna(s) , contar colunas? média de valores??



2009/12/29 Bruno Carneiro 

>
> 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
> --
> View this message in context:
> http://old.nabble.com/Problema-ao-tentar-usar-group-by-tp26954277p26954277.html
> Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 


Att.
José Adriano Alves
Analista de Sistemas - Móveis Gazin.
Cel..:  +55 44 8802 3994
Fone: + 55 44 3663 8000 - 2319
Mail: alves.jadri...@gazin.com.br
MSN: jose.adri...@gazin.com.br



Este e-mail, seu conteúdo e seus anexos estão sujeitos à privilégio de
comunicação podendo este documento incluir informação confidencial e de
propriedade restrita da GAZIN e apenas pode ser lido por aqueles a qual o
mesmo tenha sido endereçado. Se você recebeu essa mensagem de e-mail
indevidamente, por favor avise-nos imediatamente. Quaisquer dados, opiniões
ou informações expressadas neste e-mail pertencem ao seu remetente e não
necessariamente coincidem com aquelas da GAZIN, são de exclusiva
responsabilidade do signatário. Este documento não pode ser reproduzido,
copiado, distribuído, publicado ou modificado por terceiros, sem a prévia
autorização por escrito da GAZIN.


Antes de imprimir pense em seu compromisso com o Meio Ambiente
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Problema ao tentar usar group by

2009-12-29 Por tôpico Bruno Carneiro

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
-- 
View this message in context: 
http://old.nabble.com/Problema-ao-tentar-usar-group-by-tp26954277p26954277.html
Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com.

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral