从两个表中进行MySQL SELECT,用用户名替换ID

时间:2019-01-05 21:06:12

标签: mysql sql

我有两个这样的表:

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

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

因此,我需要用用户名替换“ from”和“ to”的SELECT代码。

我需要为我的应用提供SELECT代码,并将ID替换为用户名:)。

非常感谢所有人。

2 个答案:

答案 0 :(得分:1)

您必须使用别名两次加入用户表:

  select * from messages 
  join users ufrom on from = ufrom.id 
  join users uto on uto.id=to

答案 1 :(得分:1)

您需要将表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