Problemas com SQL, me matando..
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...
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
Curtidas 0
Respostas
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
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
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
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
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
27/06/2005
ae galera, valeu pela ajuda...
Acho q preciso de ferias...
Acho q preciso de ferias...
GOSTEI 0