[firebase-br] Ajuda SQL

José Mauricio Barbisan Zottis bzottis em ig.com.br
Sex Fev 28 09:47:44 -03 2014


Pessoal, estou desenvolvendo um relatório para um sistema meu e estou me
batendo.

o cenário é o seguinte:

tenho uma tabela "Dizimo", outra "Comunidades", outra "Fiel" e Outra "Grupo"


preciso fazer o seguinte

pegar a soma do que foi doado por comunidade e grupo, e o grupo pertence a
uma comunidade

ou seja o total por comunidade

mais ou menos assim:
ID  Comunidade          Dizimos   Ofertas   Total     Grupo
 Dizimos   Ofertas   Total
*1   Sagrada Família  100,00      25,00    125,00  Rainha da Paz   * 20,00
       5,00      25,00
*1   Sagrada Família  100,00      25,00    125,00  Menino Jesus      *30,00
      15,00      45,00
*1   Sagrada Família  100,00      25,00    125,00  Nª Srª Aparecida *50,00
      10,00      60,00

o SQL da Primeira parte(Em Negrito) eu consegui fazer, mas o restante da
erro de Group By.

alguém poderia me ajudar?

Segue o SQL que estou tentando fazer:

Select C1.cod_comunidade,
       C1.nome,
       (select coalesce(sum (D2.valor),0) from dizimo D2 where
       (select f2.cod_comunidade from fiel f2 where f2.cod_comunidade =
C1.cod_comunidade and D2.cod_fiel = f2.cod_fiel) = C1.cod_comunidade
   and D2.data_oferta Between :VarDataI and :VarDataF and D2.oferta_adic =
'S')ofertas,
       (select coalesce(sum (D2.valor),0) from dizimo D2 where
       (select f2.cod_comunidade from fiel f2 where f2.cod_comunidade =
C1.cod_comunidade and D2.cod_fiel = f2.cod_fiel) = C1.cod_comunidade
   and D2.data_oferta Between :VarDataI and :VarDataF and D2.oferta_adic =
'N')Dizimo,
    Sum (D1.valor) Total,
    G1.nome, */*Até aqui da certo*/*

        */*Esse trecho da o erro de Group By*/*
       (select coalesce(sum (D3.valor),0) from dizimo D3
         where( select F3.cod_comunidade from fiel F3
                 where D3.cod_fiel = F3.cod_fiel
                   and F3.cod_comunidade = C1.cod_comunidade) =
C1.cod_comunidade
         and ( select F3.cod_grupo from fiel F3
                 where D3.cod_fiel = F3.cod_fiel
                   and F3.cod_grupo = G1.cod_grupo) = G1.cod_grupo
         and G1.cod_comunidade = C1.cod_comunidade

         and D3.data_oferta Between :VarDataI and :VarDataF and
D3.oferta_adic = 'S')ofertasGrupo
       */*Atá aqui*/*

>From Comunidade C1,
       Dizimo D1,
       grupo G1
Where (select f.cod_comunidade from fiel f where f.cod_comunidade =
C1.cod_comunidade and D1.cod_fiel = f.cod_fiel) = C1.cod_comunidade
   and g1.cod_comunidade = C1.cod_comunidade
   and D1.data_oferta Between :VarDataI
                            and :VarDataF
Group By C1.cod_comunidade
           , C1.nome,
           G1.nome
Order by C1.cod_comunidade
           , C1.nome, G1.nome



Mais detalhes sobre a lista de discussão lista