MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Saldo acumuldado em sql

    avatar
    Helden
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 131
    Registrado : 27/05/2016

    [Resolvido]Saldo acumuldado em sql Empty [Resolvido]Saldo acumuldado em sql

    Mensagem  Helden 19/4/2022, 03:41

    Boa noite pessoal, preciso de ajuda.
    Tenho duas tabelas não relacionadas, tbl_Despesas e tbl_Receitas, preciso fazer saldo acumulado, consegui juntar as duas tabelas em consulta com o código abaixo, mas agora preciso nova coluna com calculo acumulado do saldo que seria (ValorPago*-1) +ValorRecebido
    Sql é mais dificil hehehhe!!



    SELECT CodReceita AS ID, Descricao, DataPagamento, ValorPago * -1 , "Débito" AS Type
    FROM tbl_DESPESAS

    WHERE DataPagamento IS NOT NULL

    UNION

    SELECT CodReceita AS ID, Descricao, DataPagamento, ValorRecebido, "Crédito" AS Type
    FROM tbl_Receitas

    WHERE DataPagamento IS NOT NULL
    avatar
    Helden
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 131
    Registrado : 27/05/2016

    [Resolvido]Saldo acumuldado em sql Empty Re: [Resolvido]Saldo acumuldado em sql

    Mensagem  Helden 20/4/2022, 01:48

    TEntei separaçao das colunas valorPago e recebido mas da ""Operador faltando"" no código

    SELECT CodReceita, Descricao, DataPagamento, ValorPago AS Valor , "Débito" AS Type, When Valor = "Débito" then Valor else 0 AS Saída
    FROM tbl_DESPESAS

    WHERE DataPagamento IS NOT NULL


    UNION

    SELECT CodReceita, Descricao, DataPagamento, ValorRecebido AS Valor, "Crédito" AS Type, When Valor = "Crédito" then Valor else 0 AS Entrada
    FROM tbl_Receitas

    WHERE DataPagamento IS NOT NULL


    obs: consulta ordenada por dataPAgamento asc
    Se conseguir separar as colunas da para fazer outra calculada tipo sum(Valor * decode(Valor, "Entrada", 1,-1)) Over(order by Valor)
    avatar
    Helden
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 131
    Registrado : 27/05/2016

    [Resolvido]Saldo acumuldado em sql Empty Re: [Resolvido]Saldo acumuldado em sql

    Mensagem  Helden 2/5/2022, 04:25

    Criei uma consulta UNION entre duas tabelas não relacionadas:

    SELECT DataPagamento,Descricao,ValorPago*-1 AS Valor
    FROM tbl_DESPESAS

    UNION SELECT DataPagamento,Descricao,ValorRecebido
    FROM tbl_Receitas;

    Criei uma nova consulta dessa consulta UNION

    SELECT t1.DataPagamento, t1.Valor, SUM(T2.Valor) AS Soma
    FROM csUnion AS t1 INNER JOIN csUnion AS t2 ON t1.DataPagamento >= t2.DataPagamento
    GROUP BY t1.DataPagamento, t1.Valor
    ORDER BY t1.dataPagamento;

    A dataPagamento tem que ter a hora senão ele só repete o mesmo valor do saldo quando aa data for a mesma.

    ainda estou testando
    avatar
    Helden
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 131
    Registrado : 27/05/2016

    [Resolvido]Saldo acumuldado em sql Empty Re: [Resolvido]Saldo acumuldado em sql

    Mensagem  Helden 16/5/2022, 14:00

    Bom dia, trabalhei em pesquisa aqui e na net em varios degraus para chegar ao saldo acumulado a partir de duas tabelas não relacionadas usando sql.

    1-REalizar consulta union entre as tabelas:

    SELECT tbl_despesas.DataPagamento As Data,Descricao,ValorPago*-1 AS Valor,CodReceita
    FROM tbl_DESPESAS
    WHERE tbl_Despesas.DataPagamento IS NOT NULL
    AND ValorPago <> 0

    UNION SELECT DataPagamento AS Data,Descricao ,ValorRecebido,CodReceita
    FROM tbl_Receitas
    WHERE tbl_Receitas.DataPagamento IS NOT NULL
    AND ValorREcebido <> 0;

    2-Criei uma consulta dessa união:

    SELECT t1.CodReceita, t1.descricao, t1.Data, t1.Valor, SUM(T2.Valor) AS Soma
    FROM csUnion AS t1 INNER JOIN csUnion AS t2 ON t1.Data >= t2.Data
    GROUP BY t1.Data, t1.Valor, t1.Descricao, t1.CodReceita
    ORDER BY t1.data;

    3-Para não haver repetição dos valores na coluna Valor (saldo acumulado) tive que diferenciar as datas dos lançamentos através da colocação de horas min e seg. após isso pode-se renumerar as linhas em uma nova coluna ou fazer o cálculo do saldo acumulado com as datas mesmo.
    obs: para preenchimento automático da data e hora nos campos está no outro tópico meu.
    Fiz uns testes rápidos e funcionou para o meu objetivo então vou dar como resolvido.
    Obrigado!!


    Conteúdo patrocinado


    [Resolvido]Saldo acumuldado em sql Empty Re: [Resolvido]Saldo acumuldado em sql

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 06:23