none
Unir resultados de 2 tabelas mesclando as datas de pagamento RRS feed

  • Pergunta

  • Boa tarde a todos.

    Sou novato no SQL e estou perdendo os cabelos com uma consulta...

    Seguinte, tenho 2 tabelas, uma chamada recebimento e outra chamada despesas. Preciso relacionar em um grid as seguintes informações:
    DIA               |          RECEBIMENTOS              |      DESPESAS       |
    01/12/18       |           R$10,00                        |        R$0,00          |
    02/12/18       |           R$0,00                          |      R$110,00        |

    eu tentei fazer o select assim:
    "select SUM (r.totalPago) as receitas, r.dataPgmto as dia, SUM (d.totalPago) as despesas " +
                    "from recebimentos as r " +
                    "full join contas as c on r.dataPgmto = d.dataPgmto " +
                    "group by r.dataPgmto"

    só que eu não sei como posso mesclar as datas entre duas tabelas... ou eu faço o group by pelo recebimento ou pela despesa... se alguém puder me dar uma luz eu agradeço. Não precisa montar a consulta, não quero copiar e colar... se puderem me direcionar ou me informar algum outro jeito de fazer eu já agradeço.

    Obrigado.

    quinta-feira, 6 de dezembro de 2018 16:22

Respostas

  • Deleted
    • Marcado como Resposta Wallace Adams sexta-feira, 7 de dezembro de 2018 10:36
    quinta-feira, 6 de dezembro de 2018 18:29
  • Boa tarde Wallace,

    Tente usar dessa forma:

    select dataPgmto, sum(receitas) as receitas, sum(despesas) as despesas from (
    select dataPgmto, totalPago as receitas, 0 as despesas from recebimentos
    union all
    select dataPgmto, 0 as receitas, totalPago as despesas from contas) as q
    group by dataPgmto


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski


    quinta-feira, 6 de dezembro de 2018 18:22

Todas as Respostas

  • Boa tarde Wallace,

    Tente usar dessa forma:

    select dataPgmto, sum(receitas) as receitas, sum(despesas) as despesas from (
    select dataPgmto, totalPago as receitas, 0 as despesas from recebimentos
    union all
    select dataPgmto, 0 as receitas, totalPago as despesas from contas) as q
    group by dataPgmto


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski


    quinta-feira, 6 de dezembro de 2018 18:22
  • Deleted
    • Marcado como Resposta Wallace Adams sexta-feira, 7 de dezembro de 2018 10:36
    quinta-feira, 6 de dezembro de 2018 18:29
  • Obrigado José Diz.
    Depois de uma pequena alteração funcionou perfeitamente. Muito obrigado por me mostrar os comandos With e Coalesce, os quais eu não conhecia.
    Com certeza serão de muito uso no futuro.


    • Editado Wallace Adams sexta-feira, 7 de dezembro de 2018 10:37 erro de português
    sexta-feira, 7 de dezembro de 2018 10:36
  • Deleted
    sexta-feira, 7 de dezembro de 2018 11:43