Bonjour,

Voici un exemple de ma Table :

DATE | AUTEUR | LIBELLE DONNÉE | VALEUR

04/09/2017 | TOTO | AGE | 26
02/09/2017 | TOTO | AGE | 25
01/09/2017 | TOTO | AGE | 24
04/09/2017 | PAUL | AGE | 26
01/01/2017 | PAUL |AGE | 15
31/09/2016 | PAUL | AGE | 11
04/09/2017 | DIDIER | AGE | 10

Et je souhaiterais retourner les lignes modifier aujourd'hui (04/09/2017) avec son enregistrement précédent, exemple :

DATE | AUTEUR | LIBELLE DONNÉE | VALEUR

04/09/2017 | TOTO | AGE | 26
02/09/2017 | TOTO | AGE | 25
04/09/2017 | PAUL | AGE | 26
01/01/2017 | PAUL | AGE | 15
04/09/2017 | DIDIER | AGE | 10

Voici mon code aujourd'hui qui me retourne simplement les dates modifiés aujourd'hui :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
WITH CTE AS (
    SELECT 
	    a.DATE
        ,   a.AUTEUR
        ,   a.LIBELLE
        ,   a.VALEUR
        ,   ROW_NUMBER() OVER(PARTITION BY a.AUTEUR, a.LIBELLE ORDER BY a.DATE desc) AS RN
        FROM TABLEA a join TABLEB b on a.LIBELLE = b.LIBELLE
	WHERE CAST(a.DATE AS DATE) in (CAST(GETDATE() AS DATE))
 
)
SELECT 
        CTE.DATE
    ,   CTE.AUTEUR
    ,   CTE.LIBELLE
    ,   CTE.VALEUR
FROM CTE
WHERE RN <= 2;
Merci d'avance !