Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requete/SQL et dates

1 réponse
Avatar
Rv
Bonjour à tous,

J'ai une requête à écrire mais je tourne autour depuis un moment sans
avancer.
J'essaye de simplifier pour exposer l'essentiel du problème :
Une seule table A(CodeA, DateEvenement, CodeEvenement, CodeB)
Quelques données en exemple :
CodeA | DateEvenement | CodeEvenement | CodeB
1 01/01/2009 7 2
2 04/09/2008 7 2
3 01/06/2007 4 2
4 08/04/2006 3 2
8 01/01/2007 7 7
12 15/05/2006 3 7
18 10/08/2008 3 9

Je souhaite obtenir, pour chaque CodeB, tous les enregistrements
distincts (CodeEvenement, CodeB) :
- dont la date est supérieure ou égale au 01/07/2008,
- plus l'enregistriment qui précède (dans l'ordre croissant des dates)
cette date s'il existe.

Sur cet exemple le résultat voulu serait:
CodeEvenement | CodeB
7 2
4 2
7 7
3 9

Pour mieux comprendre (autant que possible) cela correspond aux champs
suivant:
CodeA | DateEvenement | CodeEvenement | CodeB
1 et 2 01/01/2009 et 04/09/2008 7
2
3 01/06/2007 4
2
8 01/01/2007 7
7
18 10/08/2008 3
9

J'espère que cela est compréhensible. Merci par avance pour vos réponses.

Rv

1 réponse

Avatar
Med Bouchenafa
SELECTCodeEvenement, CodeB
FROM ...
GROUP BY CodeEvenement, CodeB
--
Bien cordialement
Med Bouchenafa


"Rv" a écrit :

Bonjour à tous,

J'ai une requête à écrire mais je tourne autour depuis un moment sans
avancer.
J'essaye de simplifier pour exposer l'essentiel du problème :
Une seule table A(CodeA, DateEvenement, CodeEvenement, CodeB)
Quelques données en exemple :
CodeA | DateEvenement | CodeEvenement | CodeB
1 01/01/2009 7 2
2 04/09/2008 7 2
3 01/06/2007 4 2
4 08/04/2006 3 2
8 01/01/2007 7 7
12 15/05/2006 3 7
18 10/08/2008 3 9

Je souhaite obtenir, pour chaque CodeB, tous les enregistrements
distincts (CodeEvenement, CodeB) :
- dont la date est supérieure ou égale au 01/07/2008,
- plus l'enregistriment qui précède (dans l'ordre croissant des dates)
cette date s'il existe.

Sur cet exemple le résultat voulu serait:
CodeEvenement | CodeB
7 2
4 2
7 7
3 9

Pour mieux comprendre (autant que possible) cela correspond aux champs
suivant:
CodeA | DateEvenement | CodeEvenement | CodeB
1 et 2 01/01/2009 et 04/09/2008 7
2
3 01/06/2007 4
2
8 01/01/2007 7
7
18 10/08/2008 3
9

J'espère que cela est compréhensible. Merci par avance pour vos réponses.

Rv