![](/img/trans.png)
[英]Private chat system MYSQL query to display last message of sender/receiver
[英]MySQL query to display name from sender and receiver
我有一個稱為users
的表,看起來像這樣:
+----+----------------+
| id | name |
+----+----------------+
| 1 | Blake |
| 2 | Jenn |
+----+----------------+
我有一個名為msg
的表,看起來像這樣:
+----+----------------+----------------+
| id | sender | receiver |
+----+----------------+----------------+
| 1 | 1 | 2 |
| 2 | 2 | 1 |
+----+----------------+----------------+
所以現在我有一個問題,因為我不知道如何將msg.sender(id)加入users.name(name)。
所以基本上我想要結束的事情看起來像這樣:
+----+----------------+----------------+----------------+----------------+
| id | sender | sender_name | receiver | receiver_name |
+----+----------------+----------------+----------------+----------------+
| 1 | 1 | Blake | 2 | Jenn |
| 2 | 2 | Jenn | 1 | Blake |
+----+----------------+----------------+----------------+----------------+
希望這些插圖對我要解釋的內容有所幫助。
只需將users
表與msg
表join
兩次-在發送者上然后在接收者上。
select m.*,
s.name as sender_name,
r.name as receiver_name
from msg m
join users s on m.sender = s.id
join users r on m.receiver = r.id;
您應該使用別名兩次連接用戶表
select msg.sender, u1.name as sender_name, msg.receiver, u2.name as receiver_name
from msg
inner join users u1 on u1.id = msg.sender
inner join users u2 on u2.id = msg.receiver
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.