これら2つのテーブルを結合する必要があります
- 表 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 以外のすべてを出力に含めるにはどうすればよいですか?