Я пытаюсь получить этап, пакет, задачи и сотрудников, назначенных для задачи для проекта, и я почти закончил, но я просто не могу понять, почему результат становится пустым, когда я пытаюсь включить employee
Таблица.
Это мое первоначальное заявление:Несколько операторов JOIN
SELECT project.JONumber, stage.StageName, batch.BatchName, tasks.task_name, tasks_assignment.employee_number
FROM project
JOIN stage ON project.id = stage.project_id
JOIN batch ON stage.ID = batch.stage_id
JOIN tasks ON batch.id = tasks.batch_id
JOIN tasks_assignment ON tasks.id = tasks_assignment.task_id
WHERE project.id = 23441;
Но когда я пытаюсь добавить еще JOIN
заявление, результат возвращается пустой,
Вот обновленное заявление:
SELECT project.JONumber, stage.StageName, batch.BatchName, tasks.task_name, tasks_assignment.employee_number, employee.FirstName
FROM project
JOIN stage ON project.id = stage.project_id
JOIN batch ON stage.ID = batch.stage_id
JOIN tasks ON batch.id = tasks.batch_id
JOIN tasks_assignment ON tasks.id = tasks_assignment.task_id
JOIN employee ON employee.ID=tasks_assignment.employee_number
WHERE project.id = 23441;
Я м, думая, что, может быть, я испортил последний оператор JOIN, но не так, что JOIN должен быть как JOIN table2 ON table1.Primarykey=table2.foreignkey
. Но, может быть, я ошибаюсь, может ли кто-нибудь указать на мою ошибку, пожалуйста? Я просто действительно путают
Ваш SQL кажется хорошо для меня. Я бы посмотрел на записи в таблице «employee» вручную, чтобы увидеть, насколько они существуют, имеют правильный формат и т. Д. Если это не находит ошибку, отредактируйте вопрос с помощью некоторых примеров вашей базы данных. – TheHowlingHoaschd
@ TheHowlingHoaschd yep Я проверил его вручную, и кажется, что тот, кто сделал таблицу, поставил 2 идентификатора для таблицы сотрудников, один из которых был индексом, а другой - для фактического идентификатора сотрудника. – Marc