Add values with different codes

Asked

Viewed 48 times

0

good evening, I have the script below:

SELECT Month([doacao_total].[doacao_sdt_data]) AS MES, 
       Year([doacao_total].[doacao_sdt_data])  AS Ano, 
       Sum(doacao_total.doacao_mon_valor)      AS [Valor_doacao], 
       Count(doacao_total.pessoa_lng_codigo)   AS [Quantidade doações], 
       doacao_total.origem_doacao_lng_codigo, 
       doa_origem_doacao.origem_doacao_vch_descricao 
FROM   doacao_total 
       LEFT JOIN doa_origem_doacao 
              ON doacao_total.origem_doacao_lng_codigo = 
                 doa_origem_doacao.origem_doacao_lng_codigo 
WHERE  Year([doacao_total].[doacao_sdt_data]) = 2019 
GROUP  BY Month([doacao_total].[doacao_sdt_data]), 
          Year([doacao_total].[doacao_sdt_data]), 
          doacao_total.origem_doacao_lng_codigo, 
          doa_origem_doacao.origem_doacao_vch_descricao 
ORDER  BY Year([doacao_total].[doacao_sdt_data]), 
          Month([doacao_total].[doacao_sdt_data]), 
          doacao_total.origem_doacao_lng_codigo 

Running this script has resulted as in SUM_1 image, however, I need to add some source codes for the result to be as SUM_2 image.

the code I need to add:

1 + 2 + 7 + 9 - billet 8 - Boleto site 6 - Money 10 - Debit 11 - Recido 12 - Deposit 23 - Kharao

sum_1

sum_2

1 answer

1


use the case, in the source field: In the end it would be ideal to do a group by DESCRICAO, but in my tests did not work.

SELECT Month(d.[doacao_sdt_data])   AS MES, 
       Year(d.[doacao_sdt_data])    AS Ano, 
       Sum(d.doacao_mon_valor)      AS 'Valor_doacao', 
       Count(d.pessoa_lng_codigo)   AS 'Quantidade doações', 
       (case    when d.origem_doacao_lng_codigo = 1 or d.origem_doacao_lng_codigo = 2 or d.origem_doacao_lng_codigo = 7 or d.origem_doacao_lng_codigo,  = 9 then 'BOLETO',
                when d.origem_doacao_lng_codigo = 8 then 'BOLETO SITE',
                when d.origem_doacao_lng_codigo = 6 then 'DINHEIRO',
                when d.origem_doacao_lng_codigo = 10 then 'DEBITO',
                when d.origem_doacao_lng_codigo = 11 then 'RECIBO',
                when d.origem_doacao_lng_codigo = 12 then 'DEPOSITO',
                when d.origem_doacao_lng_codigo = 23 then 'CARTAO') as 'DESCRICAO'
FROM doacao_total as d
WHERE  Year(d.[doacao_sdt_data]) = 2019 
GROUP  BY Month(d.[doacao_sdt_data]), 
          Year(d.[doacao_sdt_data]), 
                (case   when d.origem_doacao_lng_codigo = 1 or d.origem_doacao_lng_codigo = 2 or d.origem_doacao_lng_codigo = 7 or d.origem_doacao_lng_codigo,  = 9 then 'BOLETO',
                when d.origem_doacao_lng_codigo = 8 then 'BOLETO SITE',
                when d.origem_doacao_lng_codigo = 6 then 'DINHEIRO',
                when d.origem_doacao_lng_codigo = 10 then 'DEBITO',
                when d.origem_doacao_lng_codigo = 11 then 'RECIBO',
                when d.origem_doacao_lng_codigo = 12 then 'DEPOSITO',
                when d.origem_doacao_lng_codigo = 23 then 'CARTAO') as 'DESCRICAO'
ORDER  BY Year(d.[doacao_sdt_data]), 
          Month(d.[doacao_sdt_data]) 
  • I got it with this code anyway. Thank you.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.