[英]MySQL query with 2 tables join
我有這樣的用戶 :
id username
1 user1
2 user2
3 user3
和封郵件是這樣的:
t_id sent_by id msg
1 2 1 whatever
2 3 1 is
3 2 1 here
其中users.id是主鍵,而msgs.id是外鍵。 在msgs表中, id是send_by發送的消息的目的地。
我想選擇並顯示send_by的用戶名 ,只要登錄用戶(通過會話)是msgs.id即可 。
為了澄清問題,這是我想做的事情的偽代碼:
userid
存儲到session
。 user2, user3
。 我當時在考慮使用join,但最終對send_by和id進行了2次查詢。 看來不是有效的查詢。
我該怎么辦?
這是一個簡單的JOIN
因為您只希望返回sent_by
id的用戶名。
$sql = "SELECT DISTINCT
users.username
msgs.sent_by
FROM users JOIN msgs ON users.id = msgs.sent_by
WHERE id = {$_SESSION['my_userid']}";
SELECT DISTINCT u.username, m.sent_by
FROM msgs m
INNER JOIN users u ON u.id = m.sent_by
WHERE m.id = {$_SESSION['userid']}
ORDER BY m.t_id DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.