Mira acabo de hacer la consulta que necesitas y me funciona. Lo que hice fue crear una tabla acta con los atributos y los valores que enviaste en el correo. Espero que te sirva. Saludos.
SELECT * FROM actas WHERE actas.estado = 5 AND actas.acta IN (SELECT actas.acta FROM actas WHERE actas.estado = 5) AND actas.proceso IN (SELECT actas.proceso FROM actas WHERE actas.estado = 5) AND actas.fecha IN (SELECT min(actas.fecha) FROM actas WHERE actas.estado = 5 GROUP BY actas.acta) ----- "Sergio Valdes Hurtado" <svh.pg...@gmail.com> escribió: > Estimados, tengo una tabla que contiene los campos: acta (integer), proceso > (integer), estado (integer) y fecha (date), y que van registrando los > distintos estados que toman los procesos relacionados a unas actas de > revisión. > Cada acta puede tener uno o dos procesos y van pasando del estado 1 al estado > 5 y se registra la fecha en que cambia a cada estado > > Necesito una consulta que me permita obtener todas los registros que se > encuentren en etapa 5 y en caso de que exista un acta con dos procesos y > ambos estén en etapa 5, me muestre el que primero llegó a esa etapa (el más > antiguo). > En el caso de los datos de más abajo, lo que necesito es que no muestre los > que están marcados con * > > 1011110002 6265 5 27-01-2011 > 1011110003 6264 5 27-01-2011 > 1011110004 6262 5 27-01-2011 > 1011110005 6269 5 31-01-2011 > 1011110006 6277 5 01-02-2011 > 1011110007 6267 3 28-01-2011 > 1014110006 6270 5 31-01-2011 > 1031110002 6341 5 07-02-2011 > 1031110002 6340 1 15-01-2011 * > 1051110001 6310 5 02-02-2011 * > 1051110001 6315 5 28-01-2011 > > Gracias de antemano por su ayuda, > > -- > Sergio Valdés H. > >