none
Saldo Bancario RRS feed

  • Pergunta

  • Olá Pessoal.

    Tenho uma tabela de saldo bancário com os campos banco, Valor e data, diariamente meu sistema atualiza essa tabela.

    Nessa tabela tem o saldo diário de vários bancos, estou tentando fazer um SELECT que traga o saldo de cada banco com a sua ultima movimentação.

    Desde já agradeço a todos


    Se foi util marque como util ! Julio Cesar Ribeiro

    terça-feira, 3 de abril de 2018 14:15

Respostas

  • Bom dia,

    Experimente fazer uns testes mais ou menos dessa forma para ver se é obtido o resultado esperado:

    with CTE_RN as
    (
        select 
            *,
            row_number() over(partition by Banco order by Data desc) as rn
        from Tabela
    )
    
    select * from CTE_RN
    where rn = 1

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 3 de abril de 2018 14:37

Todas as Respostas

  • Bom dia,

    Experimente fazer uns testes mais ou menos dessa forma para ver se é obtido o resultado esperado:

    with CTE_RN as
    (
        select 
            *,
            row_number() over(partition by Banco order by Data desc) as rn
        from Tabela
    )
    
    select * from CTE_RN
    where rn = 1

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    terça-feira, 3 de abril de 2018 14:37
  • Deleted
    quarta-feira, 4 de abril de 2018 00:48
  • Aparentemente isso será uma query utilizando o OVER()

    entretanto mostre-nos um exemplo da sua tabela, de como os dado estão alocados, 

    em uma tabela simples , olha como vc pode resilver

    SELECT B.NomeBanco,
           L.NumeroLancamento,
           L.idLancamento,
           L.Data,
           L.Valor,
    	   [Saldo Acumulado] = SUM(L.Valor) OVER(PARTITION BY B.idBanco ORDER BY L.Data,L.NumeroLancamento),
    	   [Saldo Diario] = SUM(L.Valor) OVER(PARTITION BY B.idBanco,L.Data),
    	   [Saldo Mensal] = SUM(L.Valor) OVER(PARTITION BY B.idBanco, MONTH(L.Data))
      FROM dbo.Lancamentos AS L
      JOIN dbo.Bancos AS B
        ON L.idBanco = B.idBanco
     ORDER BY B.idBanco,
              L.Data,
              L.NumeroLancamento;

    Wesley Neves - Brasilia-DF     

    https://wesleyneves.wordpress.com/

    SELECT Tab.[that's me:]

    FROM

    (

        VALUES

            ('Wesley Neves'),

            ('Analista.NET'),

            ('Pós Graduando em Banco de Dados com ênfase em BI'),

            ('MTA -SQL Server'),

            ('MTA -Web Developed')

    ) AS Tab ("that's me:");


    "Se a resposta for útil ou ajudar ,não esqueça de marcar"





    Wesley Neves

    quarta-feira, 4 de abril de 2018 13:11