Problème de jointure n:n - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Problème de jointure n:n (/showthread.php?tid=4631) |
Problème de jointure n:n - My Hotel - 09-03-2010 Salut à tous Bon, étant une quiche en SQL, je fais appel à vous après des recherches plutôt infructueuses. Comment gérer de la meilleure manière possible mon problème? Voici mes tables (je met que l'essentiel) pm_topics : id|master_id (liste des conversations des MP, master_id étant l'id du joueur qui a initié la conversation) pm_topics_users : topic_id|user_id (table de relation car un sujet peut avoir plusieurs utilisateurs, et un utilisateur peut participer à plusieurs sujets) users : id|pseudo Donc en gros, j'aimerais afficher une liste des sujets, avec à chaque fois les pseudo des différents participants, et du maître du sujet. J'ai pas réussi avec les jointures, j'arrive seulement à avoir 1 membre par sujet. Les sous-requêtes, je galère un peu aussi... Voilà, j'ai tout dit, j'espère que vous trouverez une solution plus optimisée que moi, parce que là j'arrive rien à faire sauf des requêtes dans un while...Pas super au niveau optimisation Merci, bye! RE: Problème de jointure n:n - pascal - 09-03-2010 Peux-tu montrer tes requêtes ? A+ Pascal RE: Problème de jointure n:n - My Hotel - 09-03-2010 Eh bien, ma dernière tentative était celle-ci (les précédentes ont été écrasées): SELECT * FROM pm_topics LEFT JOIN pm_topics_users ON pm_topics.id = pm_topics_users.topic_id LEFT JOIN users ON pm_topics_users.user_id=users.id Le * sera remplacé par le nom des champs, quand j'aurais la bonne requête. Et ça ne me renvoie que le pseudo du premier participant à la conversation, et non pas tous les pseudos qui participent à chaque conversation. J'espère que c'est clair RE: Problème de jointure n:n - Zamentur - 09-03-2010 Code PHP :
Mais bon j'aurais plutôt tendance à décomposer: Code PHP :
Code PHP :
RE: Problème de jointure n:n - My Hotel - 10-03-2010 Merci beaucoup! Bye |