Доступ - третье левое соединение с несколькими критериями не работает - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь объединить данные из нескольких таблиц (не менее 6) с помощью левых соединений. Я получаю сообщение об ошибке «СОВМЕСТНОЕ ВЫРАЖЕНИЕ НЕ ПОДДЕРЖИВАЕТСЯ», когда я перехожу к добавлению 3-го ЛЕВОГО СОЕДИНЕНИЯ к запросу.

SELECT *
FROM
(
(Flat_File ff
left join Cost_Drivers cd on cd.Cost_Driver_Reported_Name = ff.Cost_Driver)
left join BM_IAA bmiaa on bmiaa.Section_Name = cd.Cost_Driver_Billing_Model_Section_Name)
left join BM_Allocations bma 
on
(bma.Fiscal_Year = ff.Fiscal_Year) and (bma.Section_Name = cd.Cost_Driver_Billing_Model_Section_Name)

При этом появляется ошибка «Выражение соединения не поддерживается». Однако, если я удаляю один из критериев в финальном левом соединении, это работает. У меня проблема с синтаксисом?

1 Ответ

0 голосов
/ 15 мая 2018

В MS Access, если у вас более одного объединения, вы ДОЛЖНЫ заключите все свои объединения в круглые скобки.

Ваш запрос должен быть

SELECT *
FROM
(((Flat_File ff
left join Cost_Drivers cd on cd.Cost_Driver_Reported_Name = ff.Cost_Driver)
left join BM_IAA bmiaa on bmiaa.Section_Name = cd.Cost_Driver_Billing_Model_Section_Name)
left join BM_Allocations bma 
   on ((bma.Fiscal_Year = ff.Fiscal_Year) and (bma.Section_Name = cd.Cost_Driver_Billing_Model_Section_Name)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...