Как присоединиться к столу и получить результаты для дополнительного объединения - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь получить все учетные записи для группы сотрудников по их SSN. При этом также вытягивая все учетные записи по их номеру FA (включая учетные записи, которыми они управляют, а также учетные записи, принадлежащие им).

Это код, который у меня есть. соединение SSN работает, но у меня возникают проблемы с последним соединением, при подключении emp_id к FA_emp_id

SELECT [Employee List].ID, 
[Employee List].FirstName, 
[Employee List].LastName, 
dbo_person.prsn_ssn_id, 
dbo_person.prsn_emp_id, 
Left([dbo_account_holder]![account_id],8) AS Account, 
dbo_account_holder.holder_nickname, 
dbo_account_holder.holder_reference_name
FROM ((([Employee List] LEFT JOIN dbo_person ON [Employee List].emp_id = dbo_person.prsn_emp_id) 
LEFT JOIN dbo_account_holder ON dbo_person.prsn_ssn_id = dbo_account_holder.holder_ssn_id) 
LEFT JOIN dbo_account ON dbo_account_holder.account_id = dbo_account.account_id)
LEFT JOIN  dbo_account ON [Employee List].emp_id = dbo_account.fa_emp_id
WHERE (((dbo_account.date_account_closed) Is Null));

1 Ответ

0 голосов
/ 16 апреля 2019

Старайтесь избегать неудачных ()

и не используйте столбцы таблицы левого соединения в условии where ... если вы это сделаете ... тогда это условие работает как внутреннее соединение добавить условие к соответствующему пункту

SELECT [Employee List].ID, 
[Employee List].FirstName, 
[Employee List].LastName, 
dbo_person.prsn_ssn_id, 
dbo_person.prsn_emp_id, 
Left([dbo_account_holder]![account_id],8) AS Account, 
dbo_account_holder.holder_nickname, 
dbo_account_holder.holder_reference_name
FROM [Employee List] 
LEFT JOIN dbo_person ON [Employee List].emp_id = dbo_person.prsn_emp_id
LEFT JOIN dbo_account_holder ON dbo_person.prsn_ssn_id = dbo_account_holder.holder_ssn_id
LEFT JOIN dbo_account ON dbo_account_holder.account_id = dbo_account.account_id
LEFT JOIN  dbo_account ON [Employee List].emp_id = dbo_account.fa_emp_id 
                    AND  dbo_account.date_account_closed Is Null;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...