unir dos mesa de declaración en blanco si no se encuentra MYSQL

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 

DEMO en dbfiddle.uk

Puede mover la fecha a partir de la condición WHEREa LEFT JOIN. El uso de la condición de la fecha en la WHEREes como usar una INNER JOIN.

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=395750&siteId=1
Recomendado
Clasificación