† §©LÐΙ€π §¢πΙρΤ † Postado Outubro 29, 2007 Denunciar Share Postado Outubro 29, 2007 Olá pessoal preciso de um help aqui.Estou tentando fazer um select desta forma.select a.nome, b.tipo,(valor * count(c.id_lancamento)) as tot_conta from alpha_conta_financas as a inner join alpha_lancamento_financas as b on a.id = b.id_conta_financas inner join alpha_ocorrencia_lanca_financas as c on b.id = c.id_lancamento group by c.id_lancamento having b.tipo = 1só que preciso usar sum nesta coluna sum(valor * count(c.id_lancamento))e não estou conseguindo, surge o erro invalid use of group function.Dedusindo que o erro esta no group by coloquei assim group by a.nome, c.id_lancamentoe continua o erro, alguém pode me ajudar?Desde já agradeço T + Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Outubro 30, 2007 Denunciar Share Postado Outubro 30, 2007 (editado) só que preciso usar sum nesta coluna sum(valor * count(c.id_lancamento))e não estou conseguindo, surge o erro invalid use of group function.Dedusindo que o erro esta no group by coloquei assim group by a.nome, c.id_lancamentoe continua o erro, alguém pode me ajudar?Desde já agradeço T +Olá desconhecido!Você não vai conseguir fazer o que deseja deste jeito. O GROUP BY by está reclamando do uso da função agregadora COUNT dentro de outra função agregadora SUM. Isto não é permitido.A solução para este caso passa por alguns passos:1 criar uma tabela temporaria e carregando para ela os valores de um select que conte o que você deseja;2 dar um select na tabela temporária somando os dados desejados e4 destruir a tabela temporária.Aqui no forum, na mensagem http://scriptbrasil.com.br/forum/index.php?showtopic=109658 eu expliquei como fazer isto. Pesquise, faça e, havendo dúvidas, coloque de novo no forum para avaliarmos.attDenis Courcy Editado Outubro 30, 2007 por Denis Courcy Link para o comentário Compartilhar em outros sites More sharing options...
0 † §©LÐΙ€π §¢πΙρΤ † Postado Outubro 31, 2007 Autor Denunciar Share Postado Outubro 31, 2007 só que preciso usar sum nesta coluna sum(valor * count(c.id_lancamento))e não estou conseguindo, surge o erro invalid use of group function.Dedusindo que o erro esta no group by coloquei assim group by a.nome, c.id_lancamentoe continua o erro, alguém pode me ajudar?Desde já agradeço T +Olá desconhecido!Você não vai conseguir fazer o que deseja deste jeito. O GROUP BY by está reclamando do uso da função agregadora COUNT dentro de outra função agregadora SUM. Isto não é permitido.A solução para este caso passa por alguns passos:1 criar uma tabela temporaria e carregando para ela os valores de um select que conte o que você deseja;2 dar um select na tabela temporária somando os dados desejados e4 destruir a tabela temporária.Aqui no forum, na mensagem http://scriptbrasil.com.br/forum/index.php?showtopic=109658 eu expliquei como fazer isto. Pesquise, faça e, havendo dúvidas, coloque de novo no forum para avaliarmos.attDenis CourcyOk, muito obrigado. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
† §©LÐΙ€π §¢πΙρΤ †
Olá pessoal preciso de um help aqui.
Estou tentando fazer um select desta forma.
select a.nome, b.tipo,(valor * count(c.id_lancamento)) as tot_conta
from alpha_conta_financas as a
inner join alpha_lancamento_financas as b
on a.id = b.id_conta_financas
inner join alpha_ocorrencia_lanca_financas as c
on b.id = c.id_lancamento
group by c.id_lancamento
having b.tipo = 1
só que preciso usar sum nesta coluna sum(valor * count(c.id_lancamento))
e não estou conseguindo, surge o erro invalid use of group function.
Dedusindo que o erro esta no group by coloquei assim
group by a.nome, c.id_lancamento
e continua o erro, alguém pode me ajudar?
Desde já agradeço T +
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados