Requète de Noob

Requète de Noob - SQL/NoSQL - Programmation

Marsh Posté le 11-05-2009 à 19:04:01    

J'ai besoin d'un coup de main pour une requête que je pense très simple mais j'y arrive pas.
 
J'ai trois tables (* pour clé primaire et $ pour clé étrangère)
 
Joueur(NumJoueur*, Nom, Prenom, NumEcole$)
Ecole(NumeroEcole*, NomEcole)
Tournoi(NumTournoi*, NumJoueur$)
 
J'ai besoin d'obtenir la liste de tous les joueurs (nom, prénom et nom de l'école) avec le nombre de tournois auxquels ils ont participé; Le tout classé par ceux qui ont participé au maximum de tournoi.
 
Séparément j'arrive à lister les joueurs....
SELECT NumJoueur, Nom, Prenom, NomEcole
FROM Joueur, Ecole
WHERE Joueur.NumEcole= Ecole.NumeroEcole;
 
...puis le nombre de tournoi de chaque joueur...
SELECT Numjoueur, COUNT (NumJoueur)
FROM FI_Tournoi
GROUP BY Numjoueur;
 
...j'ai essayé de faire un mix des deux mais j'ai du mal; un p'tit coup de pouce siouplé ?

Reply

Marsh Posté le 11-05-2009 à 19:04:01   

Reply

Marsh Posté le 11-05-2009 à 19:12:34    

select  NumJoueur, Nom, Prenom, numecole,count(*)
FROM Joueur
left join Tournoi on Tournoi.NumJoueur  = joueur.numjoueur
group by  NumJoueur, Nom, Prenom, numecole
order by count(*) desc


---------------

Reply

Marsh Posté le 17-05-2009 à 00:59:31    

Avec une sous requete, une autre manière :
 
select res.* from  
(
select j.Nom, j.Prenom, e.NomEcole,
nbrTournoi = (select count(*) from Tournoi t where t.NumJoueur = j.NumJoueur)  
from Joueur j, Ecole e  
where jNumEcole = e.NumeroEcole
) res order by res.nbrTournoi desc

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed