在Wordpress中加入查询

时间:2012-09-11 16:17:38

标签: mysql wordpress

我需要加入这两个表

  • 表1:wp_usermeta,我存储用户上次登录的时间
  • 表2:wp_chats,其中存储用户之间的聊天

此查询抓取登录用户并计算该用户与当前用户的聊天记录。但是,如果该用户没有聊天,它将不会返回登录用户。

即使没有聊天,如何让此查询返回所有已登录的用户?

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之外我怎么能得到输出?

1 个答案:

答案 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;
相关问题