mysql从两个表中选择,用用户名替换id

cedebl8k  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(445)

我有两张这样的table:

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”的代码。
我需要为我的应用程序选择代码与替换的id´具有用户名:)的。
非常感谢大家。

gzszwxb4

gzszwxb41#

你需要加入这张table messages 两次和table在一起 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
t1qtbnec

t1qtbnec2#

必须使用别名两次联接users表:

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

相关问题