iMasters Fóruns: Between - iMasters Fóruns

Ir para

Página 1 de 1
  • Novo tópico
  • Responder

Between Duvidas

#1 Membro offline   Einstein Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 24
  • Cadastrado: 26-maio 07

Postou 06 março 2009 - 15:01

Bom galera , preciso de um help:


Estou pesquisando no access um intervalo de dados e estou unsando o operador between.

Exemplo:

SELECT tb_tipocirurgia.tipo_cirurgia, Count(tb_cirurgia.tipo_cirurgia) AS total
FROM tb_cirurgia, tb_tipocirurgia
WHERE (((tb_cirurgia.tipo_cirurgia)=[tb_tipocirurgia].[tipo_cirurgia]) AND ((tb_cirurgia.data) Between "03/03/2009" And "05/03/2009"))
GROUP BY tb_tipocirurgia.tipo_cirurgia;

porem ele nao esta lendo o dia 03/03/2009 e nem o dia 05/03/2009, acho estranho isso pq no sql server ele lê esses dias , ou seja, a partir do dia 03 até o dia 05 e no access esta lendo apenas o dia 04/03/2009.

Alguem tem alguma solucao ou outra sugestao ?


abços

#2 Membro offline   Nelson S Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 4
  • Cadastrado: 06-março 09

Postou 06 março 2009 - 19:40

Altere a consulta para:

SELECT tb_tipocirurgia.tipo_cirurgia, Count(tb_cirurgia.tipo_cirurgia) AS total
FROM tb_cirurgia, tb_tipocirurgia
WHERE (((tb_cirurgia.tipo_cirurgia)=[tb_tipocirurgia].[tipo_cirurgia]) AND ((tb_cirurgia.data) Between #3/3/2009# And #5/3/2009#))
GROUP BY tb_tipocirurgia.tipo_cirurgia;

#3 Membro offline   Einstein Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 24
  • Cadastrado: 26-maio 07

Postou 07 março 2009 - 08:23

Ver postNelson S, em 06/03/2009 - 19:40, disse:

Altere a consulta para:

SELECT tb_tipocirurgia.tipo_cirurgia, Count(tb_cirurgia.tipo_cirurgia) AS total
FROM tb_cirurgia, tb_tipocirurgia
WHERE (((tb_cirurgia.tipo_cirurgia)=[tb_tipocirurgia].[tipo_cirurgia]) AND ((tb_cirurgia.data) Between #3/3/2009# And #5/3/2009#))
GROUP BY tb_tipocirurgia.tipo_cirurgia;





fiz esse processo e nao mostrou nenhuma informacao.
qdo tirei o # entre das datas, e coloquei o " retornou porem nao o que eu desejava.

abços

#4 Membro online   Mário Monteiro Ícone

  • Amo Você Fabíola. Ao seu lado tudo é perfeito.
  • Ícone
  • Grupo: Administradores
  • Posts: 29685
  • Cadastrado: 24-abril 03
  • Sexo:Masculino
  • Localização:Belém, Pará

Postou 07 março 2009 - 10:59

use o formato da data em MM/DD/AAAA

#5 Membro offline   Einstein Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 24
  • Cadastrado: 26-maio 07

Postou 10 março 2009 - 09:25

Considere a explicacao abaixo

#6 Membro offline   Einstein Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 24
  • Cadastrado: 26-maio 07

Postou 10 março 2009 - 09:32

Ver postMário Monteiro, em 07/03/2009 - 10:59, disse:

use o formato da data em MM/DD/AAAA



Acontece o seguinte:

ortopedia : 2 casos no dia 04/03/2009
geral : 1 caso no dia 04/03/2009 e 1 em 05/03/2009 .

totalizando:

ortopedia: 2
geral: 2

usei essa sql e me deu o seguinte:

SELECT tb_tipocirurgia.tipo_cirurgia AS Tipo, Count(tb_cirurgia.tipo_cirurgia) AS total
FROM tb_cirurgia, tb_tipocirurgia
WHERE ((tb_cirurgia.tipo_cirurgia)=[tb_tipocirurgia].[tipo_cirurgia]) AND ((tb_cirurgia.data) between #03/04/2009# And #03/05/2009#)
GROUP BY tb_tipocirurgia.tipo_cirurgia;

RESULTADO:

ortopedia : 2 casos
geral :1 caso

qdo eu troco a opcao (#03/05/2009#) para (#03/06/2009#)
aparece o resultado correto:
ortopedia: 2 casos
geral: 2 casos.

Onde estou errando?! O correto é ele ler o dia 04 até seu intervalo, e nao depois dele.

Página 1 de 1
  • Novo tópico
  • Responder

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)