У меня есть одна родительская таблица «Сотрудник», информация о сотрудниках хранится в 3 детских таблицах, а в каждой таблице для детей есть одна детская таблица. Рассмотрим следующие таблицыКак эффективно Использовать таблицы вложенных зависимостей с использованием JOIN в SQL Server
Таблица: Сотрудник (Уровень # 1)
EmpId IsActive
__________________
1 1
2 1
3 1
4 0
5 0
6 1
Таблица: EmployeeEmail (Уровень # 2)
EmpEmailId EmpId EmailId
______________________________
1 1 1
2 4 3
3 6 4
Таблица: EmailAddress (Уровень № 3)
EmailId Email
____________________________
1 [email protected]
2 [email protected]
3 [email protected]
4 [email protected]
Таблица: EmployeePhone (Уровень № 2)
EmpPhoneId EmpId PhoneId
______________________________
1 1 1
2 2 2
3 5 4
Таблица: PhoneNumber (Уровень № 3)
PhoneId PhoneNumber
_______________________
1 9912345671
2 9912345672
3 9912345673
4 9912345674
Теперь нужно выбрать Активные сотрудник записей (полную информации), если сотрудник имеет номер телефона, то он должен прийти, в противном случае оно должно быть NULL, мне тоже нужно для электронной почты.
Просьба помочь мне, как присоединиться к этой структуре и эффективно получить записи?
Вам потребуется LEFT OUTER JOIN, а затем вам придется подумать о том, что происходит в случае возможного соединения многих-ко-многим между записями. –