Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Anderson_Souza

consulta se um paciente compareceu no mes

Recommended Posts

Ola pessoal venho atraves dessa solicitar uma ajuda de uma determinada consulta, no qual a mesma tem que verificar se os pacientes cadastrados compareceu no determinado mes.

 

Exemplo

 

JOAO TEVE NA CLINICA NO DIA 01-08-2011

JOAO NAO COMPARECEU NO MES 09

JOAO SO VEIO COMPARECER NO DIA 05-10-2011

 

MARIA TEVE NA CLINICA NO DIA 05-08-2011

MARIA NAO COMPARECEU NO MES 09

MARIA SO VEIO COMPARECER NO DIA 10-10-2011

 

 

BOM EU QUERIA FAZER UMA CONSULTA QUE TROUXESSE O PACIENTE JOAO E MARIA NO MES QUE ELES COMPARECEU A CLINICA.

 

 

 

EU FIZ UMA CONSULTA MAS A MESMA SEMPRE ESTA TRAZENDO VALOR ZERO

 

SEGUE

 

SELECT paciente, prontuario,data

FROM ort_tratamentos

WHERE NOT EXISTS (SELECT *

FROM ort_tratamentos

WHERE data >= '2011-09-01'

AND data <= '2011-09-30'

)

order by data

 

NO CASO EU ESTOU QUERENDO TRAZER OS PACIENTE QUE NAO COMPARECEU NO MES 09, MAS ESSA CONSULTA NAO ESTA FUNCIONANDO CORRETAMENTE.

OK ABRACO!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente com :

 

... extract(year from data) = extract(year from pdata) and 
extract(year from month) = extract(month from pdata) ...

 

Onde pdata seria o parametro de data de busca, não sei a síntaxe correta em MySql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o objetivo é obter quem teve evento no ano/mês determinado basta testar se o ano/mês do evento é o mesmo ano/mês do parametro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algo assim deve resolver.

 

SELECT paciente, prontuario,data
FROM ort_tratamentos
WHERE NOT EXISTS (
                 SELECT NULL
                 FROM ort_tratamentos
                 WHERE extract(year from data)  = '2011' and 
                       extract(year from month) = '09')
                )
order by data

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse exemplo até rodou mas o mysql esta retornando valor vazio

 

SELECT paciente, prontuario,data

FROM ort_tratamentos

WHERE NOT EXISTS (

SELECT NULL

FROM ort_tratamentos

WHERE extract(year from data) = '2011' and

extract(month from data) = '09')

 

order by data

 

Olá Motta, depois de muito teste acho que consegui fazer a bendita consulta.

 

SELECT nome

FROM pacientes

WHERE

(

SELECT COUNT( id )

FROM ort_tratamentos

WHERE prontuario = pacientes.prontuario

AND EXTRACT(MONTH FROM data ) = 9

and EXTRACT(YEAR FROM data )= 2011

) = 0

 

agora falta só testar na minha aplicação. ok obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.