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

Fabien75008 Messages postés 5 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 10 février 2010 - 10 févr. 2010 à 11:21
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 10 févr. 2010 à 12:57
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
10 févr. 2010 à 11:39
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
0
Fabien75008 Messages postés 5 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 10 février 2010
10 févr. 2010 à 11:48
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...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
10 févr. 2010 à 11:54
et le 'Mois' vient d'où ?


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Fabien75008 Messages postés 5 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 10 février 2010
10 févr. 2010 à 11:58
Le "Mois" correspond à la liste de tous les mois d'une année entre 01/2002 à aujourd'hui...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
10 févr. 2010 à 12:00
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
0
Fabien75008 Messages postés 5 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 10 février 2010
10 févr. 2010 à 12:11
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
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
10 févr. 2010 à 12:57
ok ...

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


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
Rejoignez-nous