MarvinLeRouge Posté 24 Août 2007 Partager Posté 24 Août 2007 Salut, C'est surement tout bête comme jointure, mais je n'arrive pas à la trouver : J'ai 3 tables : joueurs, parties et scores La table joueurs joueur_id : l'id joueur_nom La table parties partie_id : l'id partie_numero : un nombre désignant la partie de façon plus conviviale (le nom de la partie en quelque sorte) La table scores score_id : l'id partie_id : l'id de la partie dans laquelle ce score a été obtenu joueur_id : l'id du joueur qui a obtenu ce score score : le score en question Ces tables contiennent des données correspondant à un tournoi dans lequel : de nouveaux joueurs peuvent s'inscrire avant toute partie un joueur ne participe pas forcément à toutes les parties une partie ne contient donc pas nécessairement TOUS les joueurs connus Je veux simplement récupérer, pour un joueur donné, en donnée 1 : la liste de TOUTES les parties (qu'il y ait participé ou pas) en donnée 2 : son score à la partie en question, ou NULL s'il n'y était pas Voilà, la requète est probablement toute bête, mais là je pédale dans la semoule. Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
iNCiTE Web Posté 25 Août 2007 Partager Posté 25 Août 2007 Un truc dans le style : SELECT partie_nom,joueur_nom,score FROM parties PLEFT JOIN scores S ON S.partie_id = P.partie_id LEFT JOIN joueurs J ON J.joueur_id = S.joueur_id WHERE S.joueur_id = ".$num_joueur." OR s.score IS NULL Voilà donc une base pour te sortir de la semoule, à adapter et vérifier que tes conditions sont bien remplies. Et $num_joueur étant la variable du numéro de joueur. Lien vers le commentaire Partager sur d’autres sites More sharing options...
MarvinLeRouge Posté 28 Août 2007 Auteur Partager Posté 28 Août 2007 Bon bah ça veut pas marcher. Je me suis débrouillé en créant des tableaux de la bonne taille, pré-remplis avec la valeur correspondant à "enregistrement absent" (oui je sais c'est moche). M'est avis qu'il y a une histoire d'ordre de jointure là-dedans, je vais fouiller ça un peu plus dès que j'aurais une minute. Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
iNCiTE Web Posté 28 Août 2007 Partager Posté 28 Août 2007 Bon bah ça veut pas marcher. N'étant pas devin et ne retrouvant pas ma boule de cristal, quelle est l'erreur renvoyée ou le problème rencontré ? ça m'aiderait... Lien vers le commentaire Partager sur d’autres sites More sharing options...
MarvinLeRouge Posté 29 Août 2007 Auteur Partager Posté 29 Août 2007 En fait, je ne récupère pas les bons sets de données. Je farfouille là-dedans, et je te dirai ce qu'il en est. N.B. : Si tu n'es pas devin, comment se fait-il que tu aies une boule de cristal ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
iNCiTE Web Posté 29 Août 2007 Partager Posté 29 Août 2007 Bon ben je ne peux pas trop t'aider alors si tu m'en dis pas plus... Quant à la boule de cristal ben je l'ai achetée sur ebay (à un mage, il s'appelle Ordome) Lien vers le commentaire Partager sur d’autres sites More sharing options...
pluriels Posté 29 Août 2007 Partager Posté 29 Août 2007 (modifié) SELECT partie_nom,joueur_nom,score FROM parties P LEFT JOIN scores S ON P.partie_id = S.partie_id LEFT JOIN joueurs J ON J.joueur_id = S.joueur_id WHERE J.id = ".$num_joueur." Modifié 29 Août 2007 par pluriels Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant