Это мой запрос SQL. Я пытаюсь выбрать имена сотрудников из таблицы сотрудников «T» в качестве инструктора и «S» в качестве студента. Где каждый студент связан с тренером.
SQL запрос:
SELECT
cc.CourseName,
FORMAT(cs.StartDate, 'dd/MM/yyyy') AS 'Start Date',
FORMAT(cs.EndDate, 'dd/MM/yyyy') AS 'End Date',
a.AcademyName,
r.RoomName,
(SELECT e.FirstName + ' ' + e.LastName WHERE e.EmployeeType = 'T') AS 'Trainer',
(SELECT e.FirstName + ' ' + e.LastName WHERE e.EmployeeType = 'S') AS 'Student'
FROM
Employees e
INNER JOIN
CourseScheduleTrainers cst ON e.EmployeeID = cst.EmployeeID
INNER JOIN
CourseScheduleAttendees csa ON cst.TrainerID = csa.TrainerID
INNER JOIN
CourseCatalog cc ON csa.CourseCatalogID = cc.CourseCatalogID
INNER JOIN
CourseSchedule cs ON cc.CourseScheduleID = cs.CourseScheduleID
INNER JOIN
Rooms r ON cs.RoomsID = r.RoomsID
INNER JOIN
Academies a ON r.AcademyID = a.AcademyID;
Вот что он возвращает:
И это ERD базы данных, которую я пытаюсь создать. По сути, участников курса можно также классифицировать как сотрудников, и они помечаются с использованием типа сотрудника
Диаграмма отношений между сущностями:
Я думал, это был простой случай подзапроса, но, похоже, он не работает.