我已經做了朋友的唯一MySQL的:用戶在線狀態[求助]
SELECT * FROM users
WHERE
(id_user IN
(SELECT CASE
WHEN friend_one = '{$id}'
THEN friend_two
WHEN friend_two = '{$id}'
THEN friend_one
END
FROM friends
WHERE status = '1')
) AND (status = '1' OR ($date - last_login) <= 300)
而且它的工作原理用戶的在線狀態,這MySQL只顯示好友登錄狀態列表。
但問題是,當我嘗試使另一個用戶登錄狀態,只顯示另一個人登錄,但沒有在我們的朋友列表中的列表。
SELECT * FROM users
WHERE
(id_user NOT IN
(SELECT CASE
WHEN friend_one = '{$id}'
THEN friend_two
WHEN friend_two = '{$id}'
THEN friend_one
END
FROM friends
WHERE status = '1')
) AND (status = '1' OR ($date - last_login) <= 300)
所以這是結果,我想
Logged as: khrisna
Friend list: Ben, Alpha, Ralph
All User: Ben, Alpha, John, Mark, Zayn
Online friend list: Ben, Alpha
Another online user: John, Mark, Zayn
有人可以幫助我達到我想要的結果呢?
UPDATE
users
表
friends
表
我想要像這樣的結果
在線用戶:Khrisna Gunanasurya // logined佔
好友列表在線:阿爾法,約翰logined帳戶
的//在線好友其他用戶在線:馬克,拉爾夫//其他用戶登錄並且不是登錄帳戶的朋友
請提供表模式,樣本數據和期望的結果以表格形式 – peterm 2014-10-11 03:18:01
添加了表 – 2014-10-11 03:21:56