2015-09-28 2 views
-2

У меня есть два таких отношения: user (user_id, user_name) сообщения (отправитель, приемник, время, сообщение) здесь и отправитель, и приемник ссылаются на user_id таблицы пользователя. Мне нужно написать запрос, чтобы получить имя пользователя-получателя user_name, имя_пользователя, сообщение.Два внешних ключа Обратитесь к одной колонке другой таблицы?

+0

Вы столкнулись с некоторыми трудностями? – marekful

+0

Вам нужно либо написать запрос на объединение, либо использовать два вложенных запроса для получения этой информации. Если вы напишете какой-то код и у вас возникнут проблемы, отредактируйте сообщение, чтобы вы могли получить помощь. Ты не собираешься найти кого-то, чтобы написать его для тебя. –

ответ

0

Вы должны JOIN с ссылающейся таблицы дважды как

select u1.user_name as Sender, 
u2.user_name as Receiver, 
m.message 
from messages m 
join user u1 on m.sender = u1.user_id 
join user u2 on m.receiver = u2.user_id;