У меня довольно сложный (ну для меня) запрос sql, и у меня возникают проблемы с некоторыми понятиями.Объединение нескольких таблиц в одну таблицу в sql
У меня есть следующий SQL на веб-странице, что я имею в здание
SELECT
[dbo].[Enrolment].[_identity], [dbo].[Enrolment].CommencementDate,
[dbo].[Enrolment].CompletionDate, [dbo].[Enrolment].enrolmentDate,
[dbo].[Course].name coursename, [dbo].[Course].Identifier as QUALcode,
[dbo].[Person].givenName, [dbo].[Person].Surname,[dbo].[Employer].name as empname,
[dbo].[Employer].Address1,[dbo].[Employer].Suburb,[dbo].[Employer].Phone,
[dbo].[Employer].PostCode,[dbo].[EnrolmentStatus].name as enrolname,
[dbo].[Student].identifier,[dbo].[Student].person,[dbo].[Contact].person as CONTACTid
FROM
(((([dbo].[Enrolment]
LEFT JOIN
[dbo].[Course] ON [dbo].[Enrolment].course = [dbo].[Course].[_identity])
LEFT JOIN
[dbo].[Employer] ON [dbo].[Enrolment].employer = [dbo].[Employer].[_identity])
LEFT JOIN
[dbo].[EnrolmentStatus] ON [dbo].[Enrolment].status = [dbo].[EnrolmentStatus].[_identity])
LEFT JOIN
[dbo].[Student] ON [dbo].[Enrolment].student = [dbo].[Student].[_identity])
LEFT JOIN
[dbo].[Person] ON [dbo].[Student].person = [dbo].[Person].[_identity]
LEFT JOIN
[dbo].[Contact] ON [dbo].[Employer].[_identity] = [dbo].[Contact].employer
WHERE
(([dbo].[EnrolmentStatus].name) = 'training'
OR
([dbo].[EnrolmentStatus].name) = 'enrolled')
Это работает хорошо, но то, что я хотел бы сделать это снова присоединиться к [dbo].[Person]
таблице, но на этот раз соединяющую из другой таблицы, поэтому код, который я фактически нужно пропатчить в вышеуказанное утверждение
LEFT JOIN
[dbo].[Trainer] ON [dbo].[Enrolment].Trainer = [dbo].[Trainer].[_identity])
LEFT JOIN
[dbo].[Person] ON [dbo].[Trainer].person = [dbo].[Person].[_identity]
то мне нужно, чтобы быть в состоянии получить из таблицы человека имя студента и имя тренера, так что мне нужно 2 записи от лица таблица для каждой записи от Enrolment
таблица, поля, которые мне нужны из таблицы персонажей, одинаковы для тренера и ученика, потому что я пытаюсь получить given name
и surname
для обоих.
Любые помощь или указатели были бы наиболее ценными.
дать ему псевдоним –
не удалось получить ваш вопрос точно, вы можете объяснить более ,,, может по каким-то данным –
Отбросьте все ненужные круглые скобки в своих операциях 'FROM' и' JOIN', что усложняет чтение, чем нужно! –