Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Dificuldades com sql


wagner sá

Pergunta

Boa tarde a todos,

Tenho a tabela abaixo,

Credito dia mes ano

960,00 3 3 2011

2.000,00 4 3 2011

4.900,00 15 3 2011

4.900,00 24 3 2011

4.900,00 31 3 2011

4.900,00 5 4 2011

4.600,00 5 4 2011

4.900,00 14 4 2011

4.635,87 14 4 2011

1.997,00 19 4 2011

1.000,00 20 4 2011

4.900,00 25 4 2011

2.000,00 28 4 2011

4.900,00 2 5 2011

2.000,00 6 5 2011

4.900,00 9 5 2011

2.722,49 11 5 2011

400,00 16 5 2011

4.900,00 17 5 2011

3.000,00 23 5 2011

4.900,00 30 5 2011

4.900,00 8 6 2011

500,00 14 6 2011

4.900,00 20 6 2011

4.900,00 22 6 2011

3.984,25 22 6 2011

4.900,00 5 7 2011

4.900,00 12 7 2011

4.900,00 19 7 2011

4.900,00 25 7 2011

4.900,00 26 7 2011

300,00 26 7 2011

209,05 27 7 2011

46,06 27 7 2011

4.900,00 1 8 2011

4.900,00 16 8 2011

4.900,00 19 8 2011

4.900,00 19 8 2011

4.900,00 19 8 2011

4.900,00 6 9 2011

4.900,00 9 9 2011

4.900,00 14 9 2011

4.900,00 19 9 2011

3.000,00 19 9 2011

4.900,00 21 9 2011

4.900,00 21 9 2011

4.900,00 10 10 2011

4.900,00 20 10 2011

4.900,00 1 11 2011

4.900,00 24 11 2011

4.900,00 29 11 2011

4.900,00 12 12 2011

4.900,00 21 12 2011

obs: a data esta em campos separados (dia), (mes) e (ano).

Preciso fazer um sql que me de o somatório dos valores do "credito", até uma data especifica (a ser escolhida pelo usuário) (ex: 20/12/2011).

Escrevi este "sql" mas não esta funcionando !

SELECT sum(cxcd.credito) AS creditos

FROM credito_caixa AS cxcd

WHERE cxcd.ano=2011 And cxcd.mes<=12 And cxcd.dia<=20;

O problema esta no dia, o sql só esta considerando créditos até o dia "20", mas em alguns meses, houve créditos além do dia "20".

Se alguém puder ajudar,

Abraços,

Wagner

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde Wagner,

O problema de se trabalhar com data separada dia/mes/ano, é exatamente este: dificultadade na hora de resgatar intervalos entre datas.

Como o sql não trata os campos como sendo DATA, fica muito dificil de manipular os campos assim. Creio que seja praticamente impossível, pois o sql não vai identificar uma cronologia correta.

O melhor dica seria a concatenação dos dia/mes/ano, gerando uma data "correta" para o sql. Desta forma, conseguirá realizar a soma.

O problema com certeza não está na função SUM, mas sim no formato da data.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia peneju,

Esta sintaxe pode funcionar sim, mas o sql não conseguisrá identificar uma cronologia....

Um exemplo:

Pegar a quantida de inserções entre 20-11-11 e 10-12-11. você terá um grande problema com o campo DIA, pois terá que pegar os dias maiores que 20 e menores que 10.

Perceba que pensando em data, a idéia está correta. Mas pensado em apenas números inteiros, o interavalo lógica está incorreto.

O resultado não será correto. Terá q levar em consideração o mês.

Assim ficará mais fácil a concatenação dos campos em datas. A pesquisa será bem mais direta e simples!! :.)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...