This is very easy for experimented Sql users i guess:
given the following tables:
Table users
id Name
1 | Stephan
2 | Marion
3 | Jonathan
4 | Morgan
Table messages
id| sender | reveiver | message
1| 2 | 4 | "hello world!"
How would you do your request to get the following(in only one sql request) :
id| sender | reveiver | message | sender.username | receiver.username
1| 2 | 4 | "hello world!" | Marion | Morgan
Thanks a lot!
select m.id, sender, reveiver, message,
sender.Name as sender_username, receiver.Name as receiver_username
from messages m
inner join users sender on sender.id = m.sender
inner join users receiver on receiver.id = m.reveiver
try
select m.id, sender, receiver, message, sender.name, receiver.name
from messages m
left outer join users sender on sender.id = m.sender
left outer join users receiver on receiver.id = m.receiver
SELECT
m.id
, m.sender
, m.receiver
, m.message
, s.name
, r.name
FROM
messages m
, INNER JOIN names s ON (s.id = m.sender)
, INNER JOIN names r ON (r.id = m.receiver)
select
m.id
, m.sender
, m.receiver
, m.message
, su.user
, ru.user
from message m
join user su on (su.id = m.sender)
join user ru on (ru.id = m.receiver)
I am sure there is a more efficient way of doing it, but this is probably the easiest.