Ir para conteúdo

POWERED BY:

Arquivado

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

Valder Rolim

Exibir registros duplicados

Recommended Posts

Colegas !
Estou com um problema que me assola faz alguns dias. Depois de muuuita pesquisa e estudo. Estou batendo cabeça numa instrução um pouco incomum (pelo menos pra mim) preciso que seja exibido registros duplicados.
Toda leitura que faço faz sempre a mesma coisa "select campo from tabela group by campo having campo >1) sempre com 1 campo, numa consulta simples. Quando tem algo mais complexo. Ninguém explica.
Vocês poderiam me ajudar ?
Segue minha query
SELECT 
	AP.NR_ATENDIMENTO,
	AP.CD_PESSOA_FISICA,
	DD.CD_DOENCA,
	AP.DT_ENTRADA,
	AP.DT_ALTA
FROM 
	DIAGNOSTICO_DOENCA DD, 
	ATENDIMENTO_PACIENTE AP 
WHERE 
	DD.NR_ATENDIMENTO = AP.NR_ATENDIMENTO
AND AP.DT_ALTA IS NOT NULL 
AND DD.DT_DIAGNOSTICO = (SELECT MIN(DD1.DT_DIAGNOSTICO) FROM DIAGNOSTICO_DOENCA DD1
					WHERE DD.NR_ATENDIMENTO = DD1.NR_ATENDIMENTO)
AND AP.DT_ALTA BETWEEN (SYSDATE - 90) AND (SYSDATE)	
ORDER BY 
	2 DESC, 1 DESC;

 

Valeeeu !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi o problema.

 

A linha

 

AND DD.DT_DIAGNOSTICO = 
(SELECT MIN(DD1.DT_DIAGNOSTICO) 
 FROM DIAGNOSTICO_DOENCA DD1 
 WHERE DD.NR_ATENDIMENTO = DD1.NR_ATENDIMENTO)

 

já não impede os duplicados ?!




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta fazer algo com count....dentro de outro select

 

and (SELECT count (AP.NR_ATENDIMENTO)
FROM DIAGNOSTICO_DOENCA DD1,
ATENDIMENTO_PACIENTE AP1
WHERE DD1.NR_ATENDIMENTO = AP1.NR_ATENDIMENTO

and DD1.NR_ATENDIMENTO = DD.NR_ATENDIMENTO

and AP1.NR_NR_ATENDIMENTO = AP_ATENDIMENTO
)>1

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.