У меня проблема с использованием левого соединения для моих 3 таблиц. У меня есть таблица сотрудников, таблица посещаемости и оставить таблицуmysql query left join three tables, отображающий все данные
У меня есть таблица работника
сотрудник
employee_id | employee_name
1 | George
посещаемость
employee_id | date
1 | 2014-01-02
1 | 2014-01-03
leave_schedule
employee_id | leave_datedate | reason
1 | 2014-01-01 | sick leave
1 | 2014-01-02 | vacation leave
вот мой запрос
select e.employee_id, e.employee_name, a.date, l.leave_date, l.reason from employee e left join attendance a ON a.employee_id = e.employee_id left join leave_schedule l on l.employee_id = e.employee_id and a.date = l.leave_date where e.employee_id = 1
там результат
employee_id | employee_name | date | leave_date | reason
1 | george | 2014-01-02 | 2014-01-02 | vacation leave
1 | george | 2014-01-03 | null | null
я хочу, чтобы включить больничный. как это сделать? это полное внешнее соединение?
ожидаемый результат
employee_id | employee_name | date | leave_date | reason
1 | george | 2014-01-01 | 2014-01-01 | sick leave
1 | george | 2014-01-02 | 2014-01-02 | vacation leave
1 | george | 2014-01-03 | null | null
вот мой sqlfiddle
http://sqlfiddle.com/#!2/ad86b/1
это хорошо. Я хочу понять это больше. почему вы использовали max (reason)? – Jayvee
кстати. спасибо, чувак: D – Jayvee