Gracias por la respuesta Hellmuth.
El jue., 28 abr. 2016 a las 9:18, Hellmuth Vargas (<hiv...@gmail.com>) escribió: > Hola Albero > > Suponiendo que el Id es la clave para relacionar los registros, eso sale > con un JOIN con la misma tabla: > > > > WITH base AS ( > > SELECT * FROM (VALUES > (4,208902,'02','11/02/2015'::date), > (4,208902,'02','16/03/2015'::date), > (4,208902,'02','01/04/2015'::date), > (4 ,404058,'04','20/05/2015'::date), > (4 ,404058,'04','01/07/2015'::date)) as A(Id,Codigo,Tipo_Reg ,Fecha) > ) > SELECT a.Id,a.Codigo,a.Tipo_Reg,max(a.Fecha) as ultimo > FROM base as a > JOIN base as b on a.id=b.id and b.tipo_reg='02' and b.Fecha<=a.fecha > WHERE a.Tipo_Reg='04' > GROUP BY a.Id,a.Codigo,a.Tipo_Reg > > > > El 28 de abril de 2016, 09:02, Alberto Cuevas<betocuevas....@gmail.com> > escribió: > >> Buenos días a todos, tengo una tabla en la cual se registra un tipo de >> registro (Tipo_Reg) y la Fecha, lo que se requiere es obtener solo los >> registros con Tipo_Reg = 04 pero que antes hayan tenido Tipo_Reg = 02. >> >> ------------------------------------------------------------ >> | Id | Codigo | Tipo_Reg | Fecha | >> ------------------------------------------------------------ >> | 4 | 208902 | 02 | 11/02/2015 | >> | 4 | 208902 | 02 | 16/03/2015 | >> | 4 | 208902 | 02 | 01/04/2015 | >> | 4 | 404058 | 04 | 20/05/2015 | >> | 4 | 404058 | 04 | 01/07/2015 | >> ------------------------------------------------------------ >> >> Alguna idea por favor. >> >> Saludos. >> >> >> > > > -- > Cordialmente, > > Ing. Hellmuth I. Vargas S. > Esp. Telemática y Negocios por Internet > Oracle Database 10g Administrator Certified Associate > EnterpriseDB Certified PostgreSQL 9.3 Associate > >