Fórum Erro Group By | Agrupando por Mes #47357
11/10/2004
0
Criei a View Abaixo e logo apos o select usando a mesma.
O objetivo é agrupar os valores das contas por mes, podendo compara-los entre um mes e outro, numa mesma linha...
Sem a clausula
GROUP BY IDGRUPOCONTA, DESCRICAOGRUPOCONTA, TIPODEBITOCREDITO, FIXO, MES
O select funciona, porem nao agrupa os meses, por exemplo:
Eu paguei 100 em janeiro, 200 em fevereiro e 300 e março. Eu quero que apareca tudo numa linha só. Atualmente está aparecendo 3 linhas cada uma com o valor do seu respectivo mes, porem para um mesmo grupo de conta...
Com a clausula do group by, dá o seguinte erro:
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause)
onde estou errando?
CREATE VIEW VWFRMRELCPAGARRECEBERAGRUPADAS ( IDGRUPOCONTA, DESCRICAOGRUPOCONTA, TIPODEBITOCREDITO, FIXO, VALORPGTO, MES) AS SELECT CPR.IDGRUPOCONTA, GC.DESCRICAOGRUPOCONTA, GC.TIPODEBITOCREDITO, GC.FIXO, SUM(PCP.VALORPAGAMENTO) AS VALORPGTO, EXTRACT(MONTH FROM PCP.DATAPAGAMENTO) AS MES FROM CPAGARRECEBER CPR INNER JOIN PARCELACPAGAR PCP ON PCP.IDCPAGARRECEBER = CPR.IDCPAGARRECEBER INNER JOIN GRUPOCONTA GC ON GC.IDGRUPOCONTA = CPR.IDGRUPOCONTA INNER JOIN FORMAPGTO FP ON FP.IDFORMAPGTO = CPR.IDFORMAPGTO GROUP BY CPR.IDGRUPOCONTA, GC.DESCRICAOGRUPOCONTA, GC.TIPODEBITOCREDITO, GC.FIXO, EXTRACT(MONTH FROM PCP.DATAPAGAMENTO) ;
SELECT IDGRUPOCONTA, DESCRICAOGRUPOCONTA, TIPODEBITOCREDITO, FIXO, VALORPGTO, CASE MES WHEN ´1´ THEN VALORPGTO END AS VR_JAN, CASE MES WHEN ´2´ THEN VALORPGTO END AS VR_FEV, CASE MES WHEN ´3´ THEN VALORPGTO END AS VR_MAR, CASE MES WHEN ´4´ THEN VALORPGTO END AS VR_ABR, CASE MES WHEN ´5´ THEN VALORPGTO END AS VR_MAI, CASE MES WHEN ´6´ THEN VALORPGTO END AS VR_JUN, CASE MES WHEN ´7´ THEN VALORPGTO END AS VR_JUL, CASE MES WHEN ´8´ THEN VALORPGTO END AS VR_AGO, CASE MES WHEN ´9´ THEN VALORPGTO END AS VR_SET, CASE MES WHEN ´10´ THEN VALORPGTO END AS VR_OUT, CASE MES WHEN ´11´ THEN VALORPGTO END AS VR_NOV, CASE MES WHEN ´12´ THEN VALORPGTO END AS VR_DEZ FROM VWFRMRELCPAGARRECEBERAGRUPADAS WHERE MES IN (9, 10, 11) AND IDGRUPOCONTA IN (3, 9, 7, 1, 2, 6, 10, 5, 4, 8) GROUP BY IDGRUPOCONTA, DESCRICAOGRUPOCONTA, TIPODEBITOCREDITO, FIXO, MES
Rafaelunp
Curtir tópico
+ 0Posts
11/10/2004
Emerson Nascimento
Gostei + 0
11/10/2004
Rafaelunp
Se eu tirar o grrup by nao funciona... eu nao vou ter o mes, nem o somatorio...
Gostei + 0
11/10/2004
Afarias
group by EXTRACT(MONTH FROM PCP.DATAPAGAMENTO)
T+
Gostei + 0
12/10/2004
Rafaelunp
Cara do jeito que está, está funcionando... só nao do jeito que eu quero... vem assim:
DESCRIÇÃOJANEIRO FEVEREIRO MARÇO ALIMENTAÇÃO 100 ALIMENTAÇÃO 200 ALIMENTAÇÃO 300 FUNCIONARIOS 200 FUNCIONARIOS 250
Eu quero assim:
DESCRIÇÃOJANEIRO FEVEREIRO MARÇO ALIMENTAÇÃO 100 200 300 FUNCIONARIOS 200 250
Gostei + 0
13/10/2004
Afarias
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)