MySQL从两个表中选择,用用户名替换ID
我有两张这样的桌子:MySQL从两个表中选择,用用户名替换ID,mysql,sql,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的代码 我
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替换为用户名:
非常感谢大家。您必须使用别名加入用户表两次:
select * from messages
join users ufrom on from = ufrom.id
join users uto on uto.id=to
您需要将表消息与表用户连接两次:
您要选择什么?所有消息都是表中的,但不是from和to,而是它们的用户名?到目前为止您尝试了什么?
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