Page 1 sur 1

SOS Au experts de mysql

Posté : 09 févr. 2013, 08:24
par miiidooo19
Bonjour,

j'ai deux table : users et messages

les champs qui nous intéressant dans cette requête sont :

table users : idUser, nameUser, surNameUser
table messages : idMessage, from (l'identifiant de l'expéditeur) , to (l'identifiant de destinataire), subjectMessage, textMessage, dateMessage

pour un user j'aimerai récupérer les messages qu'il a reçu avec le nom et prénom de l’expéditeur, dans la table messages j'ai l'identifiant de l'expéditeur

pour récupérer les message reçu pour Julien (identifiant 1 par exemple ) je fait
SELECT * FROM users, messages WHERE users.idUser = messages.to AND to = 1; 
Avec cette requête je récupère toutes les informations dans j'ai besoins sauf le nameUser et surNameUser de l’expéditeur (quand j'affiche le résultat de nameUser et surNameUser j'ai le nom et prénom de destinataire ce qui est normal parce que ici on fait une requete avec son identifiant)

est ce que si possible de récupérer le nom et prénom de l'expéditeur avec ma requête ?

Merci d'avance

Re: SOS Au experts de mysql

Posté : 09 févr. 2013, 12:01
par xTG
Il te faut une double jointure.
SELECT messages.*, u1.nameUser AS nameUser1, u1.surNameUser AS surNameUser1, u2.nameUser AS nameUser2, u2.surNameUser AS surNameUser2
FROM users AS u1, users AS u2, messages 
WHERE u1.idUser = messages.TO AND u2.idUser=messages.from AND TO = 1;
(non testé)

Re: SOS Au experts de mysql

Posté : 09 févr. 2013, 15:51
par miiidooo19
Super ta requête est parfaite :)