我有 2 个表,我想从中获取用户数据。
表格1 : frei_session
username session_id
Prince 51
Dilip 49
Sumit 50
表 2: friendrequest
requestTo requestFrom status
49 50 C
50 51 C
49 51 P
朋友请求表显示用户之间的关系,其中C代表Complete,P代表Pending。表示如果status = C
两者都是朋友并且status = P
请求是否待处理。
frei_session表显示网站的所有在线用户。
我只想限制与朋友的聊天。我尝试了以下查询,但它显示了所有在线用户
假设用户49在线
SELECT DISTINCT f.username,f.session_id
FROM frei_session AS f
LEFT JOIN friendrequest AS fr ON fr.requestFrom=f.session_id
LEFT JOIN friendrequest AS frnd ON frnd.requestTo=f.session_id
WHERE (fr.requestFrom<>49 OR frnd.requestTo<>49) AND (fr.status = 'C' OR frnd.status = 'C')
此查询向我显示这样的输出
username session_id
Prince 51
Sumit 50
但我想要这样的输出
username session_id
Sumit 50
因为用户51和用户49不是朋友