MySQL SELECT из двух таблиц, замените идентификаторы на имена пользователей - PullRequest
0 голосов
/ 06 января 2019

У меня есть две таблицы, подобные этой:

TABLE: users
id  |  username
----------------
1   |  nick1
2   |  nick2

TABLE: messages
id  |  from  |  to  |  text
--------------------------------
1   |  1     |   2  |  Hi man!
2   |  2     |   1  |  Oh, hi.

Итак, мне нужен код SELECT для замены "from" и "to" на имена пользователей.

Мне нужен код SELECT для моего приложения с замененными идентификаторами на имена пользователей:).

Большое спасибо всем.

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Вам необходимо присоединиться к таблице messages два раза с таблицей users:

SELECT
    m.id,
    u1.username,
    u2.username,
    m.text 
FROM
    messages AS m
INNER JOIN
    users AS u1 ON u1.id = m.from
INNER JOIN
    users AS u2 ON u2.id = m.to
0 голосов
/ 06 января 2019

Вы должны дважды присоединиться к таблице пользователей с псевдонимами:

  select * from messages 
  join users ufrom on from = ufrom.id 
  join users uto on uto.id=to
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...