Ver Mensaje Individual
  #1  
Antiguo 29-04-2015
jowil247 jowil247 is offline
Registrado
NULL
 
Registrado: abr 2015
Posts: 6
Reputación: 0
jowil247 Va por buen camino
Mostrar ultimo registro por fecha. Varias tablas involucradas.

Hola comunidad, verán, tengo una consulta, el problema es que necesito mostrar el último registro de la tabla: elec_detalle, mediante su fecha_audita, para cada paciente, el problema es que en la tabla elec_detalle no se encuentra el idpaciente, sino que se encuentra el idelectrocardiograma de la tabla electrocardiograma, y es, esta tabla la que si se relaciona con idpaciente
Espero ser claro, de todas formas esta es mi consulta:

Código SQL [-]
select distinct
c.fecha,
c.codigo,
concat(p.apellidos, ' ', p.nombres),
coalesce(if(bi='1', 'NORMAL', diagnostico), '-') as DiagnosticoElectro
from comprobante c
inner join paciente p on c.idpaciente=p.idpaciente
left join electrocardiograma e on p.idpaciente=e.idpaciente
left join elec_detalle el on e.idelectrocardiograma = el.idelectrocardiograma
and el.fecha_audita =(select max(fecha_audita) from elec_detalle el where e.idelectrocardiograma = el.idelectrocardiograma)
where (c.fecha<='2015-01-31' and c.fecha>='2015-01-01' and c.estado='1')
order by c.codigo;

esta consulta me muestra la mayoría de columnas correctamente, el problema es que no muestra un "DiagnosticoElectro" único para cada codigo del comprobante, sino que muestra a veces 2 para c/u, y ese es el problema, pues no toma la ultima fecha que supuestamente yo inclui en la consulta.
Responder Con Cita