[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 -
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
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
A voir également:
- [ORACLE] comment faire rentrer des classement
- Logiciel de classement de photos gratuit - Guide
- Logiciel de classement de documents gratuit - Télécharger - Bureautique
- Classement meilleur ami snap - Forum Snapchat
- Meilleurs amis snaps - Forum Snapchat
- Bp classement foot ✓ - Forum Excel
3 réponses
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
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