Найти ошибку в синтаксисе JOIN

Есть две учебные задачи:

Условие:

в базе есть таблица employee, которая содержит данные о сотрудниках, а так же tasks с данными о задачах.

Структура таблиц следующая:

employee

id - идентификатор сотрудника

name - имя сотрудника

lastname - фамилия сотрудника

salary - зарплата сотрудника

manager_id - идентификатор менеджера сотрудника

tasks

id - идентификатор задачи

title - наименование задачи

employee_id - идентификатор сотрудника, который назначен исполнителем

done_flg - флаг выполнения задачи

Задача № 1.

Сформируйте выборку, которая содержит в себе имя и фамилию сотрудника, а также наименование задачи. Если какой-то сотрудник не выполняет ни одну задачу или какая-то задача не выполняется никем из сотрудников, такого сотрудника или такой задачи соответственно в ответе быть не должно.

Код не работает:

SQLВыделить код

1
2
3
4

SELECT e.name, e.lastname, t.title
FROM employee e
INNER JOIN tasks t ON e.id = t.employee_id
WHERE t.done_flg = 1;

Задача № 2.

Сформируйте выборку, которая содержит имя и фамилию менеджеров и все задачи их непосредственных подчиненных. В выборке должны быть поля name, lastname, workers_task (наименование задач подчиненных.).

Код также не работает:

SQLВыделить код

1
2
3
4
5
6

SELECT e.name, e.lastname, GROUP_CONCAT(t.title) AS workers_task
FROM employee e
LEFT JOIN employee m ON e.manager_id = m.id
LEFT JOIN tasks t ON e.id = t.employee_id
WHERE m.id IS NOT NULL
GROUP BY e.id;

Подскажите, в чем проблема?