Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Dificuldades com sql


wagner sá

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...