none
Consulta por mes RRS feed

  • Pergunta

  • Estou com outro problema minha gente, tenho um sistema de caixa que eu preciso que

    ele me de informações de venda de numerários por período / mês.

    Ex: Quanto vendeu em cada mês de janeiro, fevereiro, março, abril

    Tabela1= Contas

    Tabela2= Caixa

     

    Contas:  Codigo  |  Nome

                  00001      Dinheiro

                  00002      Cartão

                  00003      Cheque

     

    Caixa:  Data        |   Codigo(conta)   |  Valor

            01/01/2010          00001               10,50

            01/01/2010          00002               50,30

            01/01/2010          00003               30,00

            02/01/2010          00001               65,50

            02/01/2010          00002               100,00

            02/01/2010          00003               62,00

                ...                      ...                    ...

            01/05/2010          00001               150,00

    _______________________________________________________

     

    e a consulta me retorne mais ou menos: Codigo - Conta - Valor(total)

     

    janeiro    00001 Dinheiro   852,00

                  00002 Cartão    1542,00

                  00003 Cheque    600,00

    fevereiro 00001 Dinheiro   652,00

                  00002 Cartão    1300,00

     

    Deu pra entender?

    sexta-feira, 27 de agosto de 2010 19:56

Respostas

  • Joe,

    Montei um exemplo baseado na sua dúvida. Veja se te ajuda...

    create table #Contas (codigo int, nome varchar(50))
    
    insert into #Contas (codigo, nome) values (1,'Dinheiro')
    insert into #Contas (codigo, nome) values (2,'Cartão')
    insert into #Contas (codigo, nome) values (3,'Cheque')
    
    
    create table #Caixa (data smalldatetime, conta int, valor decimal(12,2))
    
    --set dateformat dmy --!Meu sql server estah em ingles...
    insert into #Caixa (data, conta, valor) values (' 01/01/2010',1,10.50)
    insert into #Caixa (data, conta, valor) values (' 25/01/2010',1,50.50)
    insert into #Caixa (data, conta, valor) values (' 28/01/2010',1,70.88)
    insert into #Caixa (data, conta, valor) values ('01/01/2010',2,50.30)
    insert into #Caixa (data, conta, valor) values ('01/01/2010',3,30.00)
    insert into #Caixa (data, conta, valor) values ('02/01/2010',1,65.50)
    insert into #Caixa (data, conta, valor) values ('02/01/2010',2,100.00)
    insert into #Caixa (data, conta, valor) values ('02/01/2010',3,62.00)
    insert into #Caixa (data, conta, valor) values ('01/05/2010',1,150.00)
    
    
    SET LANGUAGE Portuguese --!Meu sql server estah em ingles...
    select 
    	DATENAME(month,data),
    	a.conta,
    	b.nome,
    	sum(a.valor)
    from #Caixa a
    	inner join #Contas b
    		on a.conta = b.codigo
    group by 
    	DATENAME(month,data),
    	a.conta,
    	b.nome
    
    

    att.

    Rafael

    • Marcado como Resposta JoeY... _ segunda-feira, 30 de agosto de 2010 17:07
    sexta-feira, 27 de agosto de 2010 20:57