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 :
Merci d'avance !
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;
Partager