Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Seleccionar para cada usuario su máximo

Estas en el tema de Seleccionar para cada usuario su máximo en el foro de Mysql en Foros del Web. 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, ...
  #1 (permalink)  
Antiguo 05/07/2013, 02:20
 
Fecha de Ingreso: julio-2013
Mensajes: 2
Antigüedad: 10 años, 9 meses
Puntos: 0
ayuda: Seleccionar para cada usuario su máximo

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

Última edición por herimakil; 05/07/2013 a las 03:14 Razón: añadir consulta

Etiquetas: cada, join, tabla, usuario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:19.