Buenos días, tengo la siguiente consulta y estoy muy atascado
las tablas son las siguientes
Medico(CodMed, NombreM, ApellidoM, NSS)
Paciente(NHC, NombreP, ApellidoP, FechaNac)
Operación(CodOP, dia, hora, NHC, duración)
Participa(CodOp, CodMed)
la consulta sería, para cada paciente queremos saber su operación más larga a la que se sometió, mostrar: NHC, CodOp, duración y cuantos médicos participaron.
(si la duración de varias operaciones máximas es la misma deberá mostrar todas las que coincidan con la duracion máxima)
estaba pensando hacer 3 inner join, con paciente, operación y participa pero luego no se me ocurre como hacer el count de los medicos :S
ahora mismo, tengo lo siguiente
select a.nhc, b.codop, b.duracion, (select count(c.codmed) from participa c inner join operacion d on c.codop=d.codop)
from paciente a inner join operacion b on a.nhc=b.nhc
having b.duracion=max(b.duracion)
group by 1;
ayuda urgente porfavor
pd: otra más (lo siento)
para cada médico,(codigo y nombre), la operación más larga en la que participó (codigo), si no ha participado en ninguna operación, poner un 0 en el código de operación.
muchas gracias