我需要加入这两个表
此查询抓取登录用户并计算该用户与当前用户的聊天记录。但是,如果该用户没有聊天,它将不会返回登录用户。
即使没有聊天,如何让此查询返回所有已登录的用户?
SELECT m.user_id, COUNT(c.from_id) as cnt
FROM wp_chats c
JOIN wp_usermeta m ON m.user_id=c.from_id
WHERE m.meta_key='user_last_login'
AND m.meta_value>=$time
AND c.to_id=$from_id
AND c.received=0
GROUP BY c.from_id;
http://sqlfiddle.com/#!2/edc6b/1
用户2,3,4,5,6都已登录,应该在输出中。用户7未登录且未出现。
然而只有3,6个出现。除了#7之外我怎么能得到输出?
答案 0 :(得分:3)
编辑在小提琴http://sqlfiddle.com/#!2/edc6b/12
中完善了查询SELECT m.user_id, COUNT(c.from_id) as cnt
FROM wp_usermeta m
LEFT JOIN wp_chats c
ON m.user_id=c.from_id
AND c.received=0
AND c.to_id=2
WHERE m.meta_key='user_last_login'
AND m.meta_value>=1347305273
GROUP BY m.user_id;