J'ai 2 tables. Pour simplifier:Sql rejoindre, 2 tables, mêmes champs
Tableau 1, les utilisateurs:
userId int, userName nvarchar (50)
Tableau 2, les messages:
MSGID int, msgDepuis int, msgTo int ...
msg1 et msg2, tous les deux contiennent userId. Maintenant, je veux obtenir tous les messages, mais au lieu de la msgFrom je veux le nom d'utilisateur. Je sais que faire ici:
select tabMessages.*, tabUsers.userName as Sender
from tabMessages
inner join tabUsers on msgFrom=userId
where msgId = @someParameter;
Tout fonctionne bien et dandy. La même chose pour obtenir le nom d'utilisateur au lieu de msgTo. Maintenant, le problème est, comment puis-je faire pour obtenir les deux champs dans le même appel? Je veux la table
MSGID, msgEmetteur, msgA, expéditeur, destinataire. J'ai essayé comme:
select tabMessages.*, tabUsers.userName as Sender,
tabUsers.userName as Recipient
from tabMessages
inner join tabUsers on msgFrom=userId and msgTo=userId
where msgId = @someParameter;
mais cela ne fonctionne pas. J'utilise Ms sql2000 en passant.
+1. Mais s'il vous plaît formater votre SQL afin qu'il puisse être vu sans avoir à faire défiler horizontalement. – bernie
merci, va faire :) – Anpher