Etat dernier & avant-dernier

Le
Jiveday
Bonjour,
Je cherche à obtenir le dernier & l’avant-dernier d’une table T_Version pour
insérer dans un état (liste) ? Qui peut m’aider ou orienter mes recherches ?
Requête(s) ou Module ?
Merci d’avance.

Table T_Edition - IDedition, Intitulé, EnVigueur (o/n).
Table T_Version – Idversion, IDedition, N°version, DateVersion

T_Edition
ADM01 – Intitulé 1 – o
ADM02 – Intitulé 2 – n
ADM03 – Intitulé 3 – o

T_Version
1 – ADM01 – Version 1 – 01/01/2001
2 – ADM01 – Version 2 – 06/06/2006
3 – ADM01 – Version 3 – 08/08/2008
4 – ADM01 – Version 4 – 10/08/2008
5 – ADM02
6 – ADM03 – Version 1 – 03/04/2008
7 – ADM03 – Version 2 - 05/07/2008
8 – ADM03 – Version 3 – 07/08/2008
9 – ADM04 – Version 1 – 05/02/2008


Etat (IDedition & Intitulé & Dernière version & Avant-dernière version)
ADM01 – Intitulé – Version 4 – 10/08/2008 – Version 3 – 08/08/2008
ADM02 – Intitulé
ADM03 – Intitulé – Version 3 – 07/08/2008 – Version 2 – 05/07/2008
ADM04 – Intitulé – Version 1 – 05/02/2008
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #16755511
Jiveday a écrit :
Bonjour,
Je cherche à obtenir le dernier & l’avant-dernier d’une table T_Version pour
insérer dans un état (liste) ? Qui peut m’aider ou orienter mes recherches ?
Requête(s) ou Module ?
Merci d’avance.

Table T_Edition - IDedition, Intitulé, EnVigueur (o/n).
Table T_Version – Idversion, IDedition, N°version, DateVersion

T_Edition
ADM01 – Intitulé 1 – o
ADM02 – Intitulé 2 – n
ADM03 – Intitulé 3 – o

T_Version
1 – ADM01 – Version 1 – 01/01/2001
2 – ADM01 – Version 2 – 06/06/2006
3 – ADM01 – Version 3 – 08/08/2008
4 – ADM01 – Version 4 – 10/08/2008
5 – ADM02
6 – ADM03 – Version 1 – 03/04/2008
7 – ADM03 – Version 2 - 05/07/2008
8 – ADM03 – Version 3 – 07/08/2008
9 – ADM04 – Version 1 – 05/02/2008


Etat (IDedition & Intitulé & Dernière version & Avant-dernière version)
ADM01 – Intitulé – Version 4 – 10/08/2008 – Version 3 – 08/08/2008
ADM02 – Intitulé
ADM03 – Intitulé – Version 3 – 07/08/2008 – Version 2 – 05/07/2008
ADM04 – Intitulé – Version 1 – 05/02/2008



Salut
En jouant avec select Top 2 Champ,Champ From Table where ID = ... order
by Dateversion Desc;
Tu reccuperes les deux enreg qui t'interesses. En passanr par un
recordset tu devrais pouvoir affecter les valeur aux champs dans l'état.
@+
Jiveday
Le #16760991
Bonjour

merci Fabien pour cette proposition.
J'ai trouvé une solution via 2 requêtes (adaptation d'une idée de Michel_D
pour calculer une évolution boursière) en créant l'état à partir de la 2ème
requête.
1ère requête pour trouver l'avant-dernier (req_avantdernier)
SELECT T1.IDedition, max(T2.DateVersion) AS
DateAvantDernier,max(T2.N°version) AS TexteAvantDernier
FROM T_Versions AS T1 INNER JOIN T_Versions AS T2 ON
(T1.IDedition=T2.IDedition) AND (T1.DateVersion>T2.DateVersion)
GROUP BY T1.TRI;
2ème requête pour regrouper les 2 sur 1 même ligne
SELECT t1.IDedition, Max(t1.Intitulé) AS TITRE, Max(t1.DateVersion) AS [Date
en vigueur], t.TexteAvantDernier AS [Version précédente], t.DateAvantDernier
AS [Date précédente]
FROM t_versions AS t1 LEFT JOIN req_avantdernier AS t ON t1.IDedition=
t.IDedition
GROUP BY t1.IDedition, t.TexteAvantDernier, t.DateAvantDernier;

"Fabien" a écrit :

Jiveday a écrit :
> Bonjour,
> Je cherche à obtenir le dernier & l’avant-dernier d’une table T_Version pour
> insérer dans un état (liste) ? Qui peut m’aider ou orienter mes recherches ?
> Requête(s) ou Module ?
> Merci d’avance.
>
> Table T_Edition - IDedition, Intitulé, EnVigueur (o/n).
> Table T_Version – Idversion, IDedition, N°version, DateVersion
>
> T_Edition
> ADM01 – Intitulé 1 – o
> ADM02 – Intitulé 2 – n
> ADM03 – Intitulé 3 – o
>
> T_Version
> 1 – ADM01 – Version 1 – 01/01/2001
> 2 – ADM01 – Version 2 – 06/06/2006
> 3 – ADM01 – Version 3 – 08/08/2008
> 4 – ADM01 – Version 4 – 10/08/2008
> 5 – ADM02
> 6 – ADM03 – Version 1 – 03/04/2008
> 7 – ADM03 – Version 2 - 05/07/2008
> 8 – ADM03 – Version 3 – 07/08/2008
> 9 – ADM04 – Version 1 – 05/02/2008
> …
>
> Etat (IDedition & Intitulé & Dernière version & Avant-dernière version)
> ADM01 – Intitulé – Version 4 – 10/08/2008 – Version 3 – 08/08/2008
> ADM02 – Intitulé
> ADM03 – Intitulé – Version 3 – 07/08/2008 – Version 2 – 05/07/2008
> ADM04 – Intitulé – Version 1 – 05/02/2008
>
Salut
En jouant avec select Top 2 Champ,Champ From Table where ID = ... order
by Dateversion Desc;
Tu reccuperes les deux enreg qui t'interesses. En passanr par un
recordset tu devrais pouvoir affecter les valeur aux champs dans l'état.
@+



Publicité
Poster une réponse
Anonyme