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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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.
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.