Предполагая, что у меня есть 3 таблицы:MySQL покинул присоединиться три таблицы
leave_type:
id | name
1 | maternity leave
2 | Medical leave
3 | Casual Leave
4 | Sick Leave
5 | honeymoon Leave
сотрудник
id | name
4 | Employee 1
7 | Employee 2
employee_leave_blance
id | employee_id | year | leave_type_id | val
1 | 4 | 2015 | 1 | 9
2 | 4 | 2015 | 2 | 5
3 | 7 | 2015 | 1 | 10
4 | 4 | 2015 | 3 | 4
Здесь employee_leave_blance.leave_type_id = leave_type.id
Теперь я хочу, чтобы получить все Leave Type
значения для всех сотрудников.
Позвольте мне привести пример: я хочу, чтобы получить выход для employee_id = 4, 7
employee_id | name | val
4 | maternity leave | 9
4 | Medical leave | 5
4 | Casual Leave | 4
4 | Sick Leave | 0
4 | honeymoon Leave | 0
7 | maternity leave | 10
7 | Medical leave | 0
7 | Casual Leave | 0
7 | Sick Leave | 0
7 | honeymoon Leave | 0
мой запрос
SELECT
lt.name, ifnull(el.val,0) as val , el.employee_id
FROM leave_type AS lt
LEFT JOIN employee_leave_balance AS el ON el.leave_type_id = lt.id
AND
el.year = YEAR(CURDATE()) GROUP BY el.employee_id
Что вы пробовали до сих пор? Предоставьте свои запрошенные SQL-запросы, если они не работают. – Kryptos
мой SQL запрос «выберите lt.name, IFNULL (el.val, 0), как вал, el.employee_id из leave_type в л покинул присоединиться employee_leave_balance как эль на el.leave_type_id = lt.id и эль .year = YEAR (CURDATE()) group by el.employee_id " –