Simplifier une requête

Résolu/Fermé
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 17 oct. 2019 à 17:01
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 23 oct. 2019 à 16:03
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.

1 réponse

yg_be Messages postés 22725 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
17 oct. 2019 à 19:53
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 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
17 oct. 2019 à 20:15
Ah oui effectivement je me suis tromper de forum c'est sql plus
0
yg_be Messages postés 22725 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476 > Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
18 oct. 2019 à 12:10
Quel est le type des champs anneefin et annedebut?
As-tu essayé ma suggestion?
0
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
23 oct. 2019 à 16:03
Bonjour votre commande ne fonctionnait pas mais je m'en suis inspiré ce qui m'a permit de trouver une solution merci beaucoup =)
0