none
SELECT SubTotais RRS feed

  • Pergunta

  • Bom dia !!!

     

    Temos no nosso sistema um Cadastro de Conta do Caixa

     

    Conta Caixa     Descricao

    1                       A vista

    2                       Conta Bradesco

    3                       Conta Itau

    4                       Cartao Credito

    5                       Cartao Debito

    INSERT na tabela do caixa, tem sua respectiva Conta do Caixa informa. Eu queria fazer um SELECT com SubTotais por conta do Caixa.

     

    Obrigado !!!

     

    sexta-feira, 14 de novembro de 2008 12:33

Respostas

  • Oi pode ser dessa fdorma?

     

    Code Snippet

    SELECT ContaCaixa, SUM(Valor) as total

    FROM Tb_Caixa

    group by ContaCaixa

     

     

     

     

    Abraços

     

     

     

    sexta-feira, 14 de novembro de 2008 13:11
  • Segue o exemplo

     

     

    SELECT * FROM Tb_Caixa

    Union All

    SELECT 999999 as ID,ContaCaixa,Sum(Valor) FROM Tb_Caixa Group By ContaCaixa

    Order by ContaCaixa,Id

     

     

     

     

    Espero ter ajudado

    sexta-feira, 14 de novembro de 2008 13:17
  • Olá Davi,

     

    É possível de fazer sim. Tente o script abaixo:

     

    Code Snippet

    SELECT ID, ContaCaixa, Valor,

    ISNULL(

    (SELECT SUM(Valor) FROM Tb_Caixa AS TInt WHERE

    TOut.ContaCaixa = TInt.ContaCaixa AND TOut.ID >= TInt.ID),0) AS Saldo

    FROM Tb_Caixa AS TOut

     

     

    Ministrei um Webcast sobre dicas e truques de SQL Server e contemplei como fazer esse tipo de operação. Recomendo consultá-lo no link abaixo:

     

    Dicas e Truques sobre consultas complexas no SQL Server

    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!162.entry

     

    [ ]s,

     

    Gustavo

    sexta-feira, 14 de novembro de 2008 13:21
  • Olá Davi,

     

     Segue um exemplo...

     

    SELECT a.[Conta Caixa], a.Descricao, SUM(b.CampoDeValor) as SubTotalValor

    FROM [TabelaContaDeCaixa] as a INNER OUTER JOIN [TabelaDeReceita] as b ON a.[ContaCaixa] = b.[ContaCaixa]

    Group By a.[Conta Caixa], a.Descricao

    --Recomendável que você também utilize campos de data para fazer filtros por período.

    --Substitua o nome das tabelas e dos campos pelos nomes reais.

     

    []s,
    sexta-feira, 14 de novembro de 2008 13:22

Todas as Respostas

  • Olá Davi,

     

    Você poderia postar a estrutura das tabelas? 

     

    Abraços

     

    sexta-feira, 14 de novembro de 2008 12:42
  •  

    CREATE TABLE Tb_Caixa (

    ID INT IDENTITY(1, 1),

    ContaCaixa INT,

    Valor DECIMAL(18, 2))

    GO

    -- Conta Caixa 1

    INSERT INTO Tb_Caixa VALUES (1, 120)

    INSERT INTO Tb_Caixa VALUES (1, 630)

    INSERT INTO Tb_Caixa VALUES (1, 470)

    INSERT INTO Tb_Caixa VALUES (1, -380)

    -- Conta Caixa 2

    INSERT INTO Tb_Caixa VALUES (2, 180)

    INSERT INTO Tb_Caixa VALUES (2, 320)

    INSERT INTO Tb_Caixa VALUES (2, 423)

    INSERT INTO Tb_Caixa VALUES (2, -350)

    -- Conta Caixa 3

    INSERT INTO Tb_Caixa VALUES (3, 210)

    INSERT INTO Tb_Caixa VALUES (3, 240)

    INSERT INTO Tb_Caixa VALUES (3, 180)

    INSERT INTO Tb_Caixa VALUES (3, -480)

    -- Conta Caixa 4

    INSERT INTO Tb_Caixa VALUES (4, 100)

    INSERT INTO Tb_Caixa VALUES (4, 250)

    INSERT INTO Tb_Caixa VALUES (4, 800)

    INSERT INTO Tb_Caixa VALUES (4, -500)

    GO

    SELECT * FROM Tb_Caixa

     

     

    queria que a cada Conta Caixa, criasse uma linha de sub total ...

     

    Obrigado

    sexta-feira, 14 de novembro de 2008 13:06
  • Oi pode ser dessa fdorma?

     

    Code Snippet

    SELECT ContaCaixa, SUM(Valor) as total

    FROM Tb_Caixa

    group by ContaCaixa

     

     

     

     

    Abraços

     

     

     

    sexta-feira, 14 de novembro de 2008 13:11
  • Segue o exemplo

     

     

    SELECT * FROM Tb_Caixa

    Union All

    SELECT 999999 as ID,ContaCaixa,Sum(Valor) FROM Tb_Caixa Group By ContaCaixa

    Order by ContaCaixa,Id

     

     

     

     

    Espero ter ajudado

    sexta-feira, 14 de novembro de 2008 13:17
  • Olá Davi,

     

    É possível de fazer sim. Tente o script abaixo:

     

    Code Snippet

    SELECT ID, ContaCaixa, Valor,

    ISNULL(

    (SELECT SUM(Valor) FROM Tb_Caixa AS TInt WHERE

    TOut.ContaCaixa = TInt.ContaCaixa AND TOut.ID >= TInt.ID),0) AS Saldo

    FROM Tb_Caixa AS TOut

     

     

    Ministrei um Webcast sobre dicas e truques de SQL Server e contemplei como fazer esse tipo de operação. Recomendo consultá-lo no link abaixo:

     

    Dicas e Truques sobre consultas complexas no SQL Server

    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!162.entry

     

    [ ]s,

     

    Gustavo

    sexta-feira, 14 de novembro de 2008 13:21
  • Olá Davi,

     

     Segue um exemplo...

     

    SELECT a.[Conta Caixa], a.Descricao, SUM(b.CampoDeValor) as SubTotalValor

    FROM [TabelaContaDeCaixa] as a INNER OUTER JOIN [TabelaDeReceita] as b ON a.[ContaCaixa] = b.[ContaCaixa]

    Group By a.[Conta Caixa], a.Descricao

    --Recomendável que você também utilize campos de data para fazer filtros por período.

    --Substitua o nome das tabelas e dos campos pelos nomes reais.

     

    []s,
    sexta-feira, 14 de novembro de 2008 13:22
  • Pessoal, muito obrigado pela ajuda ...

    sexta-feira, 14 de novembro de 2008 15:49