Re: [pgbr-geral] Problema ao tentar usar group by
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
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 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
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
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
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