Prendre date MAX plus petite qu'une date donnée

Signaler
Messages postés
5
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
10 février 2010
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjour,

J'ai un tableau composé d'une colonne avec des noms d'utilisateur, la seconde colonne avec les différents mois de l'année et la troisième avec des mois sur lesquels une action s'est effectué:

Pour FRU, le changement s'est effectué en 01/2009 et 03/2009 tandis que pour HPO uniquement en 02/2009. Voici le résultat que je devrai avoir:

Initiales | Mois | Changement
FRU 01/2009 01/2009
FRU 02/2009 01/2009
FRU 03/2009 03/2009
FRU 04/2009 03/2009
HPO 01/2009 'vide'
HPO 02/2009 02/2009
HPO 03/2009 02/2009
HPO 04/2009 02/2009

Je ne sais pas comment utiliser la fonction MAX pour obtenir un tel résultat.

Merci pour vos réponses,

Fabien

7 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
alternative, ne prendre que la premiere ligne ...

SELECT TOP 1 `Changement` FROM `maTable` WHERE `Initiales`='FRU' ORDER BY `Changement`

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
5
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
10 février 2010

Je ne comprends pas ta réponse...

Ma table avec les changements se presente sous se format:

Initiales | Changement
FRU 01/2009
FRU 03/2009
HPO 02/2009

Et à partir de cette table, je dois arriver à créer une table qui ressemble à ma table affiché dans mon premier post...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
et le 'Mois' vient d'où ?


Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
5
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
10 février 2010

Le "Mois" correspond à la liste de tous les mois d'une année entre 01/2002 à aujourd'hui...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
j'ai du mal a saisir l'interet de faire une telle selection...

néanmoins quel est ton code actuel ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic
Messages postés
5
Date d'inscription
jeudi 11 juin 2009
Statut
Membre
Dernière intervention
10 février 2010

Actuellement je bloque sur quel type de code utilisé par conséquent, je n'ai pas commercé.

L'interet est simple...

Pour un utilisateur lambda, j'ai la liste de tout les mois d'une année:

Initiales | Mois
FRU 01/2009
FRU 02/2009
FRU ...
FRU 07/2009
FRU 08/2009

J'ai une autre table qui me donne les mois où l'on a effectué une action sur le profil:

Initiales | Changement
FRU 12/2008
FRU 03/2009
FRU 07/2009

Suite à cela, je dois trouver un mix des deux tables, qui me donne par rapport à "Mois" le dernier changement qu'il y a eu soit:

Initiales | Mois | Changement
FRU 01/2009 12/2008
FRU 02/2009 12/2008
FRU 03/2009 03/2009
FRU 04/2009 03/2009
FRU 05/2009 03/2009
FRU 06/2009 03/2009
FRU 07/2009 07/2009
FRU 08/2009 07/2009
FRU 09/2009 07/2009
FRU 10/2009 07/2009

En espérant avoir été plus clair.

merci
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
ok ...

SELECT *, (SELECT MIN(Changement) FROM Table2 WHERE Table2.Initiales = Table1.Initiales) FROM Table1


Renfield - Admin CodeS-SourceS - MVP Visual Basic