Problemas com SQL, me matando..

Delphi

27/06/2005

Olá amigos, estou com um problema numa consulta e não acho como resolver, talvez o problemas seja simples, mas se possivel gostaria q alguem me desse um Help.
O pobrema é o seguinte:
Tenho uma Tabela chamada Exame. nessa tabela tenho dois campos
1. CodigoDoMedico
2. CodigoDoMedicoAuxiliar
A pesquisa é:
Select * from exame e
where
(
(e.data_exame >=:dt1) and
(e.data_exame <=:dt2) and
(e.CodigoDoMedico =:idCod) or
(e.CodigoDoMedicoAuxiliar=:idcod)
)
order by e.data_exame

EM MIUDOS....
Preciso Saber todos os Exames que o Medico ´X´ efetuou em um determinado periodo de tempo, Sendo ele Auxiliar ou Principal..

O Resultado da pesquisa:
Bom, A consulta traz os Resultados necessarios, porem tambem traz exames que estão fora do periodo informa Ex.: o Usuario Informa as Datas: 1: 01/05/2005 até 30/05/2005 e no resultado acaba vindo registros de outros messes como 01/04/2005, 13/08/2005.
Tenho quase certeza que o problema pode ser no ´OR´..mas tenho que fazer essa pesquisa...

Alguém entendeu? Pode me ajudar? Ficarei muito grato...


Daniel Martins

Daniel Martins

Curtidas 0

Respostas

Rjun

Rjun

27/06/2005

Monte assim sua instrução SQL:

Select * from 
  exame e 
where 
  ((e.data_exame >=:dt1) and (e.data_exame <=:dt2)) and
  ((e.CodigoDoMedico =:idCod) or (e.CodigoDoMedicoAuxiliar=:idcod))
order by 
  e.data_exame 



GOSTEI 0
Fernando

Fernando

27/06/2005

Select * from exame
where
(e.data_exame >=:dt1 and e.data_exame <=:dt2) and (e.CodigoDoMedico =:idCod) and
(e.CodigoDoMedicoAuxiliar=:idcod)
order by e.data_exame


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

27/06/2005

tente assim:

Select * from exame e
where (e.data_exame between :dt1 and :dt2)
and (e.CodigoDoMedico=:idCod or e.CodigoDoMedicoAuxiliar=:idcod)
order by e.data_exame


GOSTEI 0
Daniel Martins

Daniel Martins

27/06/2005

ae galera, valeu pela ajuda...
Acho q preciso de ferias...


GOSTEI 0
POSTAR