MYSQLを見つけていない場合は2つのテーブルのリターン空白に参加

晴れ:

私は、MySQLのクエリで問題に直面しています。私は左の2つのテーブルを結合するために私のクエリで結合を使用するが、私は私の予想結果の取得に失敗しました。

のは、私のユーザーテーブルがあるとしましょう

ユーザー表

Id  Name
1   User 1
2   User 2
3   User 3
4   User 4
5   User 5
6   User 6
7   User 7

出席表

Id  user_id date
1   1   2020-03-30
2   2   2020-03-30
3   3   2020-03-30
4   4   2020-03-30
5   7   2020-03-30
6   1   2020-03-31
7   3   2020-03-31
8   5   2020-03-31
9   6   2020-03-31
10  1   2020-04-01
11  2   2020-04-01
12  3   2020-04-01

私の予想結果

1   User 1  2020-04-01
2   User 2  2020-04-01
3   User 3  2020-04-01
4   User 4  NULL
5   User 5  NULL
6   User 6  NULL
7   User 7  NULL

ここに私のクエリがあります

SELECT og_users.id, og_users.display_name, pacra_attendance.date, pacra_attendance.log_in_time
FROM og_users

LEFT JOIN pacra_attendance
ON og_users.id = pacra_attendance.user_id

WHERE og_users.is_active = 1 AND pacra_attendance.date = '2020-04-01'

私を助けてください。

ありがとうございました

セバスチャンブローチ:

あなたはこれを使用することができます:

SELECT og_users.id, og_users.display_name, pacra_attendance.date, pacra_attendance.log_in_time
FROM og_users LEFT JOIN pacra_attendance
  ON og_users.id = pacra_attendance.user_id AND pacra_attendance.date = '2020-04-01'
WHERE og_users.is_active = 1 

dbfiddle.ukのデモ

あなたはから日付条件を移動することができますWHEREしますLEFT JOIN上の日付条件を使用すると、WHERE使用してのようなものですINNER JOIN

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=395745&siteId=1