Bonjour,
Je viens de me mettre aux requêtes de type "JOIN", parce que j'avais besoin de lier les informations de deux tables différentes.
La première, obj_characters, contient une liste de personnages :
1. Toto, dans communauté 1
2. Tata, dans communauté 2
3. Titi, dans communauté 2
La deuxième, obj_communities, contient une liste de communautés :
1. Concombre
2. Carotte
En gros, un utilisateur peux avoir plusieurs personnages, chacun pouvant appartenir à une communauté, parfois la même. Et j'essaie d'établir au final la liste des communautés dont les personnages de l'utilisateur font partis.
Voilà ma requête, plutôt simple :
Donc je lui demande de sélectionner les champs ID et NAME de la table COMMUNITIES. Ensuite, je lui joint la table CHARACTERS, et je lui demande de sélectionner seulement les COMMUNITIES ou apparaissent les CHARACTERS. Enfin, je limite la sélection à l'utilisateur numéro 1, via le champs IDUSER de la table CHARACTERS.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT g.id, g.name FROM `obj_communities` g INNER JOIN `obj_characters` c ON g.id = c.idcommunities WHERE c.iduser = 1 ORDER BY g.id
Résultat de la requête :
1. Carotte
2. Conbombre
2. Conbombre
Comme vous le voyez, j'obtiens 2 fois l'enregistrement Conbombre, puisque l'utilisateur en question possède deux fois un personnage dans Conbombre. Or, moi je voudrais filtrer ce résultat pour n'avoir au final qu'une fois Conbombre... Donc, virer les doublons :p
Ca devrait pas être difficile, puisqu'il s'agit du MEME enregistrement de la table COMMUNITES. Mais je n'ai aucune idée du comment faire...
Merci pour votre aide éventuelle !!
Partager