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   -
Bonjour,
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.
A voir également:

1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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;
0
Hamster18 Messages postés 176 Date d'inscription   Statut Membre Dernière intervention  
 
Ah oui effectivement je me suis tromper de forum c'est sql plus
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Hamster18 Messages postés 176 Date d'inscription   Statut Membre Dernière intervention  
 
Quel est le type des champs anneefin et annedebut?
As-tu essayé ma suggestion?
0
Hamster18 Messages postés 176 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour votre commande ne fonctionnait pas mais je m'en suis inspiré ce qui m'a permit de trouver une solution merci beaucoup =)
0