Я пытаюсь объединить три таблицы вместе в доступе к Microsoft, разрешая пустые записи с Table 1
, являющимися моей основной таблицей, поэтому все записи показывают.Доступ к нескольким левым соединениям - код SQL
У меня есть этот код, который работает, связывая только 2 таблицы.
SELECT [1].IDCode, [2].GiftDate, [2].FundId__1, [2].fund_name
FROM 1 LEFT JOIN 2 ON [1].IDCode = [2].IDCode
WHERE ((([1].IDCode) Is Not Null));
Но я хочу добавить третью. У меня есть это, но каждый раз, когда я пытаюсь запустить его, я получаю сообщение об ошибке (Invalid Operation).
SELECT [1].IDCode, [2].GiftDate, [2].FundId__1, [2].fund_name, [3].Rep_Type
FROM (1 LEFT JOIN 2 ON [1].IDCode = [2].IDCode) LEFT JOIN 3 ON [1].IDCode = [3].IDCode
WHERE ((([1].IDCode) Is Not Null));
Мой код теперь это, и я все еще получаю недействительную операцию.
SELECT [A].IDCode, [A].GiftDate, [A].FundId__1, [A].fund_name, [3].Rep_Type
FROM
(SELECT [1].IDCode, [2].GiftDate, [2].FundId__1, [2].fund_name
FROM 1
LEFT JOIN 2
ON [1].IDCode = [2].IDCode) A
LEFT JOIN 3
ON [A].IDCode = [3].IDCode
WHERE ((([1].IDCode) Is Not Null));
Ответ на этот вопрос: http://stackoverflow.com/questions/19367565/access-sql-inner-join-with-multiple-tables может помочь вам –
Will 3 всегда существуют в 2s? если так соединить хотя 2. Если не() порядок будет иметь значение и сделать это более сложной задачей. – xQbert
3 не всегда существует в 2. – blink444