1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
   | with    compare
    as  (   select  jour.nom        nom_jour
                ,   jour.date       date_jour
                ,   jour.chiffre    chiffre_jour
                ,   veille.nom      nom_veille
                ,   veille.date     date_veille
                ,   veille.chiffre  chiffre_veille
            from    matable jour
                inner join
                    matable veille
                    on  jour.date   > veille.date 
            where   exists
                    (   select  null
                        from    matable calend
                        where   jour.date   > calend.date
                        having  veille.date = MAX(calend.date) 
                    )
        )
select  nom_jour
    ,   date_jour
    ,   chiffre_jour
    ,   nom_veille
    ,   date_veille
    ,   chiffre_veille
from    compare
where   chiffre_jour    > chiffre_veille
    and exists
        (   select  null
            from    matable calend
            where   calend.date > current_date
            having  compare.date_jour   = MAX(calend.date) 
        )
; | 
Partager