Új hozzászólás Aktív témák

  • nyunyu

    félisten

    válasz tm5 #4985 üzenetére

    Nem ezt akarod inkább lekérdezni?
    with t1t2 as
    (select t1.ID, t1.Date1 as Date, t1.Attr1, null as Attr2, t1.valid_from, t1.valid_to
    from t1
    union
    select t2.ID, t2.Date2 as Date, null as Attr1, t2.Attr2 as Attr2, t2.valid_from, t2.valid_to
    from t2)
    select distinct
    akt.id,
    akt.date valid_from,
    lead(akt.date) over (order by akt.date) valid_to,
    ut1.attr1,
    ut2.attr2
    from t1t2 akt
    left join t1t2 ut1
    on ut1.id=akt.id
    and ut1.valid_from<=akt.date
    and ut1.valid_to>akt.date
    and ut1.attr2 is null
    left join t1t2 ut2
    on ut2.id=akt.id
    and ut2.valid_from<=akt.date
    and ut2.valid_to>akt.date
    and ut2.attr1 is null
    order by akt.id, akt.date;

    Összefűztem a két táblát, majd minden dátumhoz megkeresem az adott pillanatban érvényes Attr1 és Attr2 értékeket, meg a következő változás dátumát.

Új hozzászólás Aktív témák