Página 1 de 1

Criar SELECT SUM dentro de SELECT

Enviado: Qui, 20 Set 2018 4:29 pm
por carlynhos77
Ola, boa tarde...

Tenho uma tabela de CADORGAO, que tem um total de 20 órgãos cadastrados (1 a 20)

Entre esses orgaos, existem alguns que é de servidores ativos, por isso tem um CAMPO (Ativos = "1"), outros estao com CAMPO (Ativos = "0"), seria um TRUE / FALSE no campo ATIVO

Tenho uma outra tabela, chamada CADCONTRIBUICOES, nela eu tenho o COD_ORGAO e o um campo VALOR_CONT, onde eu salvo o CODIGO DO ORGAO e o VALOR DA CONTRIBUICAO... eu preciso somar todos os campos dessa tabela contribuicao, porem precisaria pegar somente os registros q o ORGAO for Ativos = TRUE, definido la na tabela CADORGAO.

Algo grosseiro assim:

Selecionar tudo

SELECT o.codorgao
FROM (SELECT c.cod_orgao,
             sum(c.valor_cont)
         FROM CADCONTRIBUICAO
        WHERE c.cod_orgao = o.codorgao
       GROUP BY o.cod_orgao) CADORGAO
WHERE ativos = 1;
não sei se consegui passar o q preciso, mas em resumo... so preciso somar os orgaos q for ATIVOS = 1

Agradeço a ajuda

Re: Criar SELECT SUM dentro de SELECT

Enviado: Seg, 01 Out 2018 2:39 pm
por DanielNN
Olá,

Pelo que entendi a informação do campo ATIVO está na tabela CADORGAO e o valor da contribuiçao na CADCONTRIBUICAO. Então bastaria fazer consulta usando o join entre as duas tabelas conforme abaixo:

Selecionar tudo

SELECT o.codorgao
     , sum(c.valor_cont)  valor_cont_sum
  FROM CADORGAO         o 
     , CADCONTRIBUICAO  c
 WHERE c.cod_orgao	= o.codorgao
   AND o.ativos 	= 1
 GROUP BY o.cod_orgao