晴れ:
私は、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
あなたはから日付条件を移動することができますWHERE
しますLEFT JOIN
。上の日付条件を使用すると、WHERE
使用してのようなものですINNER JOIN
。