agrupamiento de registros y ultimo movimiento
Publicado por fernando (2 intervenciones) el 08/03/2010 16:27:11
Estimados!
me estoy rompiendo la cabeza y no puedo resolver la siguient situación.
basicamente tengo una tabla de medicos y una de novdedes para medicos, donde se registran los movimientos de estos medicos de un centro de salud a otro... yo tengo el siguiente scrip que me devuelve un set de datos de tdas las novedades.
SELECT p.name AS ayn, co.name AS cohorte, h.name AS centrosalud, ca.name AS cargo, MAX(n.fecha_desde) AS fechadesde, n.fecha_hasta AS fechahasta, n.hslunes AS lunes, n.hsmartes AS martes, n.hsMirecoles AS miercoles, n.hsjueves AS jueves, n.hsviernes AS viernes, n.hssabados AS sabados, n.hsdomingos AS domingos, n.rmsp, n.coordinador, n.facilitador, l.name AS localidad, r.name AS region
FROM pers AS p
INNER JOIN novelties AS n ON p.id = n.per_id
INNER JOIN cohorts AS co ON n.cohort_id = co.id
INNER JOIN chargues AS ca ON n.chargue_id = ca.id
INNER JOIN healtcenters AS h ON n.healtcenter_id = h.id
INNER JOIN locations AS l ON h.location_id = l.id
INNER JOIN regions AS r ON l.region_id = r.id
INNER JOIN profesions as pf on p.profesion_id= pf.id
WHERE 1 =1
group by n.per_id
el problema es que yo necesito traer la ultima novedad, es decir el max(n.id) por cada n.per_id
no se si fui claro, en realidad necesito que el sistema me devuelva el lugar actual donde el medico esta trabajando...
por favor espero que me ayuden, a mi correo que dejo arriba gracias
me estoy rompiendo la cabeza y no puedo resolver la siguient situación.
basicamente tengo una tabla de medicos y una de novdedes para medicos, donde se registran los movimientos de estos medicos de un centro de salud a otro... yo tengo el siguiente scrip que me devuelve un set de datos de tdas las novedades.
SELECT p.name AS ayn, co.name AS cohorte, h.name AS centrosalud, ca.name AS cargo, MAX(n.fecha_desde) AS fechadesde, n.fecha_hasta AS fechahasta, n.hslunes AS lunes, n.hsmartes AS martes, n.hsMirecoles AS miercoles, n.hsjueves AS jueves, n.hsviernes AS viernes, n.hssabados AS sabados, n.hsdomingos AS domingos, n.rmsp, n.coordinador, n.facilitador, l.name AS localidad, r.name AS region
FROM pers AS p
INNER JOIN novelties AS n ON p.id = n.per_id
INNER JOIN cohorts AS co ON n.cohort_id = co.id
INNER JOIN chargues AS ca ON n.chargue_id = ca.id
INNER JOIN healtcenters AS h ON n.healtcenter_id = h.id
INNER JOIN locations AS l ON h.location_id = l.id
INNER JOIN regions AS r ON l.region_id = r.id
INNER JOIN profesions as pf on p.profesion_id= pf.id
WHERE 1 =1
group by n.per_id
el problema es que yo necesito traer la ultima novedad, es decir el max(n.id) por cada n.per_id
no se si fui claro, en realidad necesito que el sistema me devuelva el lugar actual donde el medico esta trabajando...
por favor espero que me ayuden, a mi correo que dejo arriba gracias
Valora esta pregunta
0