您好,我正在使用以下查詢從每個唯一對話中選擇最新消息。除了當我嘗試集成INNER JOIN
以嘗試在users
表中鏈接用戶的user_id
及其username
時,所有內容都可以正常工作。無法在我的查詢中集成INNER JOIN
我已經嘗試過幾乎所有的組合來集成INNER JOIN
,所以我決定將它從正在工作的查詢中分離出來,直到我獲得幫助。
我做了一個小提琴http://sqlfiddle.com/#!9/a9bbc/1我只想USER_ID右邊打印用戶的用戶名
SELECT message_id,
msg,
user_id
FROM messages
JOIN (SELECT user_id,
Max(dat) m
FROM ((SELECT message_id,
recipient_id user_id,
dat
FROM messages
WHERE owner_id = 1)
UNION
(SELECT message_id,
owner_id user_id,
dat
FROM messages
WHERE recipient_id = 1)) t1
GROUP BY user_id) t2
ON ((owner_id = 1
AND recipient_id = user_id)
OR (owner_id = user_id
AND recipient_id = 1))
AND (dat = m)
ORDER BY dat DESC
。
users.username INNER JOIN users ON messages.user_id = users.user_id;
whats users.username here -schemaname.tablename or tablename.column name? –
tablename.column – Julian
你應該使用連接與表,你在這裏做錯了。它應該是messages上的內部消息加入用戶.user_id = users.User_Id –