Requête sql avec jointure?

Requête sql avec jointure? - SQL/NoSQL - Programmation

Marsh Posté le 06-11-2009 à 12:48:39    

Bonjour.
 
Voici la structure de mes tables
 
Commentaires
--------------
id  auto_increment
date  
commentaire
 
commentaire_membre
------------------
cm_id_commentaire  
cm_id_membre
 
User
---------------------
id auto_increment
username
.....
 
J'aimerais pouvoir récupérer la liste des commentaires par utilisateur.
Je test donc de faire une requête me permettant de récuperer les commentaires pour l'utilisateur avec un id 1.
 
 
Je n'arrive pas à m'en sortir.
 
Merci par avance de votre aide
 
Voici les données dans la base.
 
Commentaires
--------------------
 
1  2009-11-06 11:26:52   commentaire pour util1
2  2009-11-05 11:27:11   commentaire pour util2
 
commentaire_membre
----------------------
1  1
2  2
 
User
-----------------
1  util1
2      util2

Reply

Marsh Posté le 06-11-2009 à 12:48:39   

Reply

Marsh Posté le 06-11-2009 à 13:05:19    

qu'est-ce que tu as essayé? Au passage, ta table commentaire_membre n'a aucun intérêt, mets directement l'id du membre dans la table commentaire...

Message cité 1 fois
Message édité par skeye le 06-11-2009 à 13:06:01

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-11-2009 à 13:15:16    

skeye a écrit :

qu'est-ce que tu as essayé? Au passage, ta table commentaire_membre n'a aucun intérêt, mets directement l'id du membre dans la table commentaire...

 

Si elle a un intérêt car je dois différencier les commentaires associés à un membre ou à un groupe.

 

Sinon j'avais essayé cela

Code :
  1. SELECT * FROM `commentaires`
  2. INNER JOIN  `commentaire_membre`
  3. ON commentaire_membre.cm_id_membre = 1
 

Mais cela me renvoit les commentaires du second utilisateur aussi.

Message cité 1 fois
Message édité par masseur le 06-11-2009 à 13:15:49
Reply

Marsh Posté le 06-11-2009 à 13:17:57    

masseur a écrit :


 
Si elle a un intérêt car je dois différencier les commentaires associés à un membre ou à un groupe.
 
Sinon j'avais essayé cela

Code :
  1. SELECT * FROM `commentaires`
  2. INNER JOIN  `commentaire_membre`
  3. ON commentaire_membre.cm_id_membre = 1


 
Mais cela me renvoit les commentaires du second utilisateur aussi.


 
tu n'as pas fait la jointure sur le bon champ...le champ commun à ces deux tables c'est l'id du commentaire.
Ton id_membre = 1 sera dans la clause where.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-11-2009 à 13:37:45    

Comme ceci donc ?

Code :
  1. SELECT *
  2. FROM `commentaires`
  3. INNER JOIN `commentaire_membre` ON commentaire_membre.cm_id_membre = commentaires.id
  4. WHERE cm_id_membre =1
 

Merci à toi


Message édité par masseur le 06-11-2009 à 13:38:03
Reply

Marsh Posté le 06-11-2009 à 13:41:17    

mais non, réfléchis 30 secondes!
Pourquoi ton id_membre serait égal à l'id du commentaire?[:pingouino]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 06-11-2009 à 13:43:53    

skeye a écrit :

mais non, réfléchis 30 secondes!
Pourquoi ton id_membre serait égal à l'id du commentaire?[:pingouino]


 
Ahahaha je me suis fais rire tout seul.
Erreur d empressement dans mon ctrl+v
 

Code :
  1. SELECT *
  2. FROM `commentaires`
  3. INNER JOIN `commentaire_membre` ON commentaire_membre.cm_id_commentaire = commentaires.id
  4. WHERE cm_id_membre =1

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed