Besoin d'aide svp pour terminer ma requête en Mysql pour un challenge interne à mon club de Tennis :
Je fais compléter une table 'Matchs' au moyen d'un formulaire d'enregistrements par la méthode POST
après une routine de calculs qui attribue un nombre de points selon le score en 2 sets ou en 3 sets.

J'ai donc 2 tables dans une base Mysql Tournoi qui contiennent:

Table "Matchs" :
nomgagnant (varchar,30)
nomperdant (varchar,30)
pointsgagnant (tinyint,1)
pointsperdant (tinyint,1)

Table "Membres" :
nom (varchar,30)
nbmatchs (int,4)
nbpoints (int,4)

Voici la requete mysql qui alimente par des variables les valeurs des champs de la table "Matchs" : (et qui fonctionne bien, merci !)

// Sélection de la table Matchs et exécution de l'insertion du Résultat
$resultet ='SELECT * FROM Matchs ORDER BY id';
$resultat=mysql_query($resultet);

$asql="INSERT INTO Matchs SET
nomgagnant='$nomgagnant',
nomperdant='$nomperdant',
score='$score',
pointsgagnant='$pointsgagnant',
pointsperdant='$pointsperdant'";

$resultat =mysql_query($asql);
// Fin de la requête ---------------------------------------------------------

// Problème :
Voilà plusieurs jours que je planche sur une requête pour calculer et transférer
les valeurs des champs de la table "Matchs" vers la table "Membres", sachant que pour chaque 'Membre.nom' :

  • la valeur du champ 'Membres.nom' figurera plusieurs fois dans la table "Matchs"
    en tant que 'Membres.nomgagnant' mais aussi en tant que 'Membres.nomperdant' (on récupère des points en gagnant et aussi en perdant)

  • Le champ 'Membres.nbpoints' doit être la somme de la valeur des champs 'Matchs.pointsgagnant' + 'Matchs.pointsperdant' pour chaque fois
    que 'Membres.nom' sera trouvé dans 'Matchs.nomgagnant' 'OU Matchs.nomperdant'

  • le champ 'Membres.nbmatchs' sera la somme des enregistrements de la Table "Matchs" chaque fois où la valeur de ce champ sera trouvée dans
    'Matchs.nomgagnant' OU 'Matchs.nomperdant

(une boucle avec des SELECT, UPDATE, COUNT, INNER JOIN..... j'ai essayé en vain.... ??? !!!!)
Jeune débutant retraité, Pourriez-vous me proposer une solution ?)
Merci

1 réponse


Bonsoir.
Documentes toi sur les relations/associations de tables SQL.
Par exemple ici : Tutoriel Vidéo MySQL » Les jointures MySQL.