Simplifier une requête
Résolu
Hamster18
Messages postés
176
Date d'inscription
Statut
Membre
Dernière intervention
-
Hamster18 Messages postés 176 Date d'inscription Statut Membre Dernière intervention -
Hamster18 Messages postés 176 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais simplifier la requête suivante :
La commande suivante fonctionne mais comme vous pouvez le voir elle est "lourde". Je répète 3 fois :
La première fois je le met dans un alias ce qui permet de rendre "meilleurs" l'affichage mais es possible d'utilisé une méthode pour "enlever" les 2 autres commandes ?
Merci d'avance pour toutes réponse.
Cordialement.
J'aimerais simplifier la requête suivante :
select prenomnomj, (max(months_between(to_date(anneefin,'YYYY'),to_date(anneedebut, 'YYYY')))/12) as annee from joueur group by prenomnomj having max(months_between(to_date(anneefin,'YYYY'),to_date(anneedebut, 'YYYY'))) >= all ( select max(months_between(to_date(anneefin,'YYYY'),to_date(anneedebut, 'YYYY'))) from joueur );
La commande suivante fonctionne mais comme vous pouvez le voir elle est "lourde". Je répète 3 fois :
(max(months_between(to_date(anneefin,'YYYY'),to_date(anneedebut, 'YYYY')))/12)
La première fois je le met dans un alias ce qui permet de rendre "meilleurs" l'affichage mais es possible d'utilisé une méthode pour "enlever" les 2 autres commandes ?
Merci d'avance pour toutes réponse.
Cordialement.
1 réponse
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, utilises-tu réellement le logiciel MySQL?
Quel est le type des champs anneefin et annedebut?
Moi je ferais ainsi:select j.prenomnomj, jmax.maxannee as annee from joueur as j, (select max(anneefin-anneedebut) as maxannee from joueur) as jmax where jmax.maxannee = j.anneefin-j.anneedebut;