USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Instrução SQL
Wilson
não registrado
Postada em 18/12/2004 06:36 hs   
Tenho uma tabela LIVRODEDEBITO com os campos data, vencimento e valor
 
Gostaria de somar os valores mes a mes quando a data = vencimento e qdo a data <> vencimento da seguinte maneira para apresentar num grid.
MES      TITULO   VALOR 
01/2004  a vista  5000,00  (a vista -> data = vencimento)
01/2004  a prazo  1000,00  (a prazo -> data <> vencimento)
         total    6000,00
02/2004  a vista   300,00
02/2004  a prazo  1000,00
         total    1300,00
Como faria a consulta em SQL .  Tentei igualar o month(data) mas dá erro no Select.    Não sei como fazer a instrução .
     
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
Postada em 20/12/2004 08:25 hs         
usa essa consulta de referência cruzada, o período deve ser de um ano, pois cada coluna é um mês. eu fiz com os mesmos nomes de tabela e campo ...
 
TRANSFORM Sum(DebitoValor.Valor) AS SomaDeValor
SELECT Iif(DebitoValor.Vencimento = DebitoValor.Data, "A VISTA", "A PRAZO") AS PGTO
FROM DebitoValor
WHERE (((DebitoValor.Data) Between #1/1/2004# And #12/31/2004#))
GROUP BY Iif(DebitoValor.Vencimento = DebitoValor.Data, "A VISTA", "A PRAZO")
PIVOT Month([Data]);
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 20/12/2004 16:34 hs            
Não entendi uma coisa: pq data <> vencimento?? Não seria data < vencimento?? Pois se vc paga a prazo então a data do pagamento seria "maior" q a data do pagamento a vista.
Eu quero dizer assim: pagamento a vista 20/12/2004, pagamento a prazo 22/12/2004. Só um exemplo.
Pq se temos data <> vencimento então pagto a vista 20/12/2004 e pagto a prazo 19/12/2004 também estaria correto.
Bom, fazendo a prazo -> data < vencimento então vc pode fazer assim:
 
SELECT month(data) AS Mes, sum(valor) AS Total
FROM Tab_LivroDeDebito
WHERE data=vencimento Or data < vencimento
GROUP BY month(data);
veja se dá certo... fiz um pequeno teste e retornou conforme vc queria, vamos ver se no seu banco de dados, q contém os dados reais, vc obtém o resultado desejado...
qq coisa é só postar novamente
t+
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página