Não estou conseguindo fazer uma determinada consulta SQL em um banco Firebird, gostaria de pedir ajuda ao pessoal q manda bem em SQL/Firebird para descobrir como fazer o seguinte:
Dada a tabela EXAME, com os seguintes campos:
ID (integer)
NM_PACIENTE (varchar)
DT_EXAME (timestamp)
necessito fazer um SELECT que retorne apenas os exames mais atuais do paciente, tendo como condição a data do exame.
exemplo:
[code]id nm_paciente dt_exame
05 João Vicente 17/10/2003 18:00:00
04 João Vicente 17/10/2003 17:55:20
03 João Vicente 17/10/2003 17:30:15
02 Maria Rita 17/10/2003 9:40:30
01 Maria Rita 17/10/2003 9:10:30
[/code]
com base neste exemplo meu objetivo é que o resultset dessa query fosse povoado somente com as linhas id=05 e id=02, que são os mais atuais.
Obrigado a todos que responderam a minha dúvida, porém acho que não consegui passar exatamente o que esta pegando, vejam:
:arrow: vamos supor que o resultado abaixo foi gerado pela seguinte SQL:
-> SELECT * FROM EXAME WHERE DT_EXAME >= ‘17/10/2003’
id nm_paciente dt_exame
===========================
05 João Vicente 17/10/2003 18:00:00
04 João Vicente 17/10/2003 17:55:20
03 João Vicente 17/10/2003 17:30:15
02 Maria Rita 17/10/2003 9:40:30
01 Maria Rita 17/10/2003 9:10:30
:arrow: pois bem, agora eu preciso que a SQL retorne os resultados mais atuais desta tabela para os mesmos pacientes, ou seja os registros ID=05 e ID=02, pois o DT_EXAME para eles é respectivamente (17/10/2003 18:00:00) e (17/10/2003 9:40:30). Em outras palavras eu preciso excluir do resultado os registros mais velhos do mesmo paciente e obter somente os últimos (mais novos).
necessáriamente teria que ficar assim:
id nm_paciente dt_exame
===========================
05 João Vicente 17/10/2003 18:00:00
02 Maria Rita 17/10/2003 9:40:30