Совместное выражение не поддерживается с 3 таблицами - PullRequest
0 голосов
/ 30 мая 2018

Я работаю с MS Access, пытаюсь объединить 3 таблицы вместе.Но я получаю сообщение "ПРИСОЕДИНЯЙТЕСЬ К ВЫРАЖЕНИЮ."По сути, я хочу объединить только две таблицы: A_01HWeekEHCalendar и A00_Plant.A00_Plant требует 3 столбца, чтобы присоединиться;Plant_Product, Plant_Code и Plant_Name.Plant_Product, Plant_Code в порядке, но нет столбца, соответствующего Plant_Product.поэтому я должен добавить A_ProductGroup. Я не уверен, что это невозможно сделать в одном запросе или это ошибка моего SYNTAX.или будет другой способ сделать это без отдельных запросов.Я также добавляю картинку того, что я хочу, и пытаюсь запустить и получить ошибку.

Спасибо.

enter image description here

SELECT 
A_01HWeekEHCalendar.RunNo_H, 
A_01HWeekEHCalendar.Audit_Week, 
A_01HWeekEHCalendar.CurrentYear, 
A_01HWeekEHCalendar.CurrentWeek, 
A_01HWeekEHCalendar.TTSMonth, 
A_01HWeekEHCalendar.Audit_Plant, 
A_01HWeekEHCalendar.Audit_plantname, 
A_01HWeekEHCalendar.Audit_Qacode, 
A_01HWeekEHCalendar.Audit_Qaname, 
A_01HWeekEHCalendar.Audit_Product, 
A00_Plant.HCA_StartDate


FROM 
(A_01HWeekEHCalendar LEFT JOIN A_ProductGroup
ON A_01HWeekEHCalendar.Audit_Product = A_ProductGroup.R_Code) 
LEFT JOIN A00_Plant 
ON A_01HWeekEHCalendar.Audit_plantname = A00_Plant.Plant_Name 
AND A_01HWeekEHCalendar.Audit_Plant = A00_Plant.Plant_Code 
AND A_ProductGroup.R_Code = A00_Plant.Plant_Product;

1 Ответ

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

Вам повезло, потому что вы хотите только один столбец.Вы можете обойти эту проблему, используя коррелированный подзапрос:

SELECT . . .,
       (SELECT TOP (1) A00_Plant.HCA_StartDate
        FROM A00_Plant
        WHERE A_01HWeekEHCalendar.Audit_plantname = A00_Plant.Plant_Name 
 AND
              A_01HWeekEHCalendar.Audit_Plant = A00_Plant.Plant_Code AND 
              A_ProductGroup.R_Code = A00_Plant.Plant_Product
       ) as HCA_StartDate
FROM A_01HWeekEHCalendar LEFT JOIN
     A_ProductGroup
     ON A_01HWeekEHCalendar.Audit_Product = A_ProductGroup.R_Code ;
...