2012-07-23 55 views
-3

我有如下兩個表:在users_messages引用如何連接表在MySQL

users 
-id (primary key, AUTO_INCREMENT) 
-username (varchar) 
-password (varchar) 

users_messages 
-id (primary key, AUTO_INCREMENT) 
-message (text) 
-fk sender_id (int) 
-fk receiver_id(int) 
-sent_date(datetime) 
-is_read(tinyint) 

兩個外鍵同桌即用戶 我想寫一個SQL查詢來獲取如下輸出:

Message    Sender   Receiver 
Message 1 testing  john    sonam 
Message 2 testing  meena    shenaz 

我該怎麼做?我需要SENDER_ID獲取所有從users_messages表中的信息,並通過receiver_id username列在用戶表取代

編輯 解決方案:

SELECT m.id, m.message, s.username, r.username FROM users_messages m 
INNER JOIN users s ON m.sender_id = s.id 
INNER JOIN users r ON m.receiver_id = r.id 

回答

1

嘗試

SELECT m.id, m.message, s.username, r.username 
FROM users_messages m 
INNER JOIN users s ON m.sender_id = s.id 
INNER JOIN users r ON m.receiver_id = s.id