soleado :
Estoy frente a un problema en la consulta MySQL. Yo uso izquierda se unen en mi consulta para unir dos tablas, pero no pude conseguir mi resultado esperado.
Supongamos que mi tabla de usuario es
Tabla de usuarios
Id Name
1 User 1
2 User 2
3 User 3
4 User 4
5 User 5
6 User 6
7 User 7
Tabla de asistencia
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
Mi Resultado esperado
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
Aquí está mi consulta
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'
Por favor, ayúdame.
Gracias
Sebastián Broche:
Se puede utilizar esta:
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
Puede mover la fecha a partir de la condición WHERE
a LEFT JOIN
. El uso de la condición de la fecha en la WHERE
es como usar una INNER JOIN
.