Мой код SQL:
SELECT EmpLastName +', '+ EmpFirstName AS ProgramSupervisorName, TeamNo
FROM Employee, Salary, ProgramSupervisor
WHERE Employee.EmpNo = Salary.EmpNo
AND Salary.EmpNo = ProgramSupervisor.EmpNo
ORDER BY TeamNo
Я понимаю, что Access не поддерживает создание представлений. Проблема, с которой я сталкиваюсь, заключается в том, что я хочу сгруппировать сотрудников по имени ProgramSupervisor, но руководители программ и сотрудники являются частью таблицы сотрудников. Различные типы сотрудников различаются по их PosNo, и сотрудники относятся к ProgramSupervisors через ряд таблиц (Hourly -> ISL ‹--- ProgramSupervisor). При этом я не могу ссылаться на ProgramSupervisorName и EmpName как на переименованное поле только в одном операторе SELECT, потому что они взяты из одной таблицы, но отличаются своим positionNo. Я надеялся, что смогу создать запрос или «представление», как в приведенном выше коде, который позаботится о том, чтобы извлечь имя ProgramSupervisor из таблицы сотрудников, а затем использовать это представление в другом запросе. В другом запросе я мог бы затем использовать код: «EmpLastName + ',' + EmpFirstName AS EmpName». Страницы, которые я искал в Интернете, слишком расплывчаты для моего ограниченного понимания, поэтому, пожалуйста, объясните мне просто. Я также постараюсь прояснить любую путаницу. Я включу свой ERD, чтобы вы могли видеть, откуда я:
РЕДАКТИРОВАТЬ: запрос до сих пор
SELECT EmpLastName +', '+ EmpFirstName AS EmpName, ProgramSupervisorName,
ProgSupName.TeamNo
FROM Employee, ISL, Hourly, Salary, ProgramSupervisor, ProgSupName
WHERE Employee.EmpNo = Hourly.EmpNo
AND Hourly.ISLNo = ISL.ISLNo
AND Employee.EmpNo = Salary.EmpNo
AND Salary.EmpNo = ProgramSupervisor.EmpNo
AND ProgramSupervisor.EmpNo = ISL.ProgramSupervisor_EmpNo
ORDER BY ProgSupName.TeamNo
Нужно ли мне связывать все эти таблицы, если я уже сделал их в запросе ProgSupName?