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.