У меня есть таблица с именами absen_calendar и absen, absen_calendar содержит только список дат с 2018-11-01 по 2018-11-30.
absen_calendar
| dateCalendar |
| 2018-11-01 |
| ... |
| 2018-11-30 |
и еще одна таблица с именем "absen".
absen
personName | personDate | personTime | personInfo
Joko | 2018-11-01 | 07:26:00 | IN
Eko | 2018-11-20 | 07:03:00 | IN
Wahyu | 2018-11-15 | 17:11:00 | OUT
Joko | 2018-11-01 | 17:40:00 | OUT
Я пытаюсь показать дату списка в dateCalendar для каждого personName в таблице absen. Иногда у 1 человека может быть только 1 personInfo в personDate.
result
dateCalendar | personName | personTimeIN | personTimeOUT
2018-11-01 | Joko | 07:26:00 | 17:40:00
2018-11-02 | Joko | NULL | NULL
...
2018-11-30 | Joko | NULL | NULL
2018-11-01 | Eko | NULL | NULL
...
2018-11-30 | Eko | NULL | NULL
2018-11-01 | Wahyu | NULL | NULL
...
2018-11-15 | Wahyu | NULL | 17:11:00
...
2018-11-30 | Wahyu | NULL | NULL
Вот мой запрос:
SELECT
d.dateCalendar,
a_in.personName,
a_in.personTime AS personTimeIN,
a_out.personTime AS personTimeOUT,
FROM absen_calendar d
LEFT JOIN absen a_in
ON a_in.personDate = d.dateCalendar
AND a_in.personInfo = 'IN'
LEFT JOIN absen a_out
ON a_out.personDate = d.dateCalendar
AND a_out.personInfo = 'OUT'
Как это сделать в MySQL или PHP? Заранее спасибо.