[ORACLE] comment faire rentrer des classement

Résolu
kismetgram Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
kismetgram Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j aimerais creer une base de données sous Oracle et j'ai un problème que j expose ici.

un joueur a pour champ : id, nom, prenom, nationalite, main_utilisee, annee_de_naissance

un tournoi a pour champ : id , nom , localisation, annee, nombre_de_joueurs

J'aimerais savoir comment dans la creation des tables faire apparaitre un classement de joueurs pour chaque tournoi, sachant que le nombre de joueur, vu que les nombre de joueurs varient, ainsi que les points atribuées associés varient aussi. alors que le nombre de champ ne varie pas.

Merci d'avance

3 réponses

Christounet Messages postés 1264 Date d'inscription   Statut Membre Dernière intervention   1 392
 
Bonjour,

Je pense que le plus simple est d'avoir trois tables qui sont les suivantes:

Table Joueur (Id , Nom, Prenom, Nationalite, Main_Utilisee , Annee_de_Naissance)

Table Tournoi (Id, Nom, Localisation, Annee)

Table Participants (Tournoi_Id , Joueur_Id , Points_Attribues)

De cette façon, si tu veux savoir le nombre de participants par tournoi, il suffit de faire

SELECT COUNT(*) FROM Participants WHERE Tournoi_Id = xxx

et si tu veux avoir un classement de joueur par tournoi, il suffit de faire

SELECT Joueur.Nom, Joueur.Prenom , Participants.Points_Attribues , Tournoi.Nom
FROM Participants , Joueur , Tournoi
WHERE Participants.Tournoi.Id = xxx
AND Joueur.Id = Participants.Joueur_Id
AND Tournoi.Id = Participants.Tournoi_Id
ORDER BY Participants.Points_Attribues ASC (ou DESC si tu veux d'abord le nombre le plus élévé)

A plus
0
ppmax Messages postés 312 Date d'inscription   Statut Membre Dernière intervention   244
 
Il faut une table intermédiaire qui relie Tournoi à Joueur du genre
Participe(id_joueur,id_tournoi_,classement)
0
kismetgram Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
merci beaucoup, je savais qu'il fallait creer une table intermediare, jai juste pas penser au champ classement ou points attribués, merci encore
0