Это ваш запрос:
SELECT Employee_id, Employee_fname, Employee_lname, Employee_title,Employee_task_in_project
FROM Employee FULL JOIN
EmployeeTask
ON Employee.Employee_id = EmployeeTask.Employee_id
WHERE Employee.Employee_id = ?
По крайней мере, одна проблема заключается в том, что Employee_id
находится в обеих таблицах, но ссылка в SELECT
не указывает, какая именно. Это приводит к неоднозначной ошибке ссылки.
Я бы предложил написать запрос следующим образом:
SELECT e.Employee_id, e.Employee_fname, e.Employee_lname,
e.Employee_title, et.Employee_task_in_project
FROM Employee e LEFT JOIN
EmployeeTask et
ON e.Employee_id = et.Employee_id
WHERE e.Employee_id = ?;
Примечания:
- Качество все столбецссылки, так что вам, другим людям и компилятору понятно, из какой таблицы они исходят.
- Псевдонимы таблиц облегчают написание и чтение запроса.
FULL JOIN
почтиникогда не нужно. В этом случае LEFT JOIN
кажется правильным - он сохраняет всех сотрудников, даже тех, у кого нет задач. - Научитесь использовать параметры вместо того, чтобы манипулировать строками запроса.