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
>
>

Responder a