Как я могу одновременно вложить два подзапроса и два левых соединения? В настоящее время у меня есть мой запрос (query1), как показано ниже, который отлично работает. Но он включает в себя подключение двух внешних запросов, которые должны обновляться отдельно по дате данных.
Я хочу расширить query1, применив подзапрос (query2) для практики, а также обновить все в одном скрипте.
ПРИМЕЧАНИЕ. Запрос написан в MS Access.
Любая помощь высоко ценится!
SELECT DISTINCT
Acct.AccountNumber
, Acct.ABCat AS Cat
, Acct.fName AS FirstName
, Acct.lName AS LastName
, Acct.Age AS Age
, o.Type, o.OFirstLoginDate
, o.OLastLoginDate
, m.Type
, m.LstDepDate AS LastDepDate
FROM
table1 AS Acct
LEFT JOIN
OB_table AS o
ON Acct.AccountNumber = o.AccountNumber
LEFT JOIN
MB_table AS m
ON Acct.AccountNumber = m.AccountNumber
WHERE
Acct.Cat IN (9,12,16,17)
AND Acct.DataDate = 20200430
AND Acct.Status = 'Open';
Query2 с использованием подзапросов и левого соединения. Я получаю сообщение об ошибке
Syntax error (missing operator) in query expression 'Acct.AccountNumber = o.AccountNumber
LEFT JOIN
(SELECT DISTINCT
ParentAccount AS AccountNumber
,TYPE
,LstDepDate AS LastDepDate
FROM MBtable
WHERE ProcessDate = 20200430
SELECT DISTINCT
Acct.AccountNumber
, Acct.ABCat AS Cat
, Acct.fName AS FirstName
, Acct.lName AS LastName
, Acct.Age AS Age
, o.Type, o.OFirstLoginDate
, o.OLastLoginDate
, m.Type
, m.LstDepDate AS LastDepDate
FROM
table1 AS Acct
LEFT JOIN
(
SELECT DISTINCT
Online.Account AS AccountNumber
, Online.TYPE
, Online.OBFLDate AS OFirstLoginDate
, Online.OBLLDate AS OLastLoginDate
FROM OBtable AS Online
WHERE Online.DataDate=20200430
And Online.OBFLDate Is Not Null
)
AS o
ON Acct.AccountNumber = o.AccountNumber
LEFT JOIN
(
SELECT DISTINCT
ParentAccount AS AccountNumber
, TYPE
, LstDepDate AS LastDepDate
FROM MBtable
WHERE ProcessDate = 20200430
AND FDate IS NOT NULL
ORDER BY LDate DESC
)
AS m
ON Acct.AccountNumber = m.AccountNumber
WHERE Acct.Cat IN (9,12,16,17)
AND Acct.DataDate=20200430
AND Acct.Status = 'Open';
WHERE Acct.Cat=9 OR ... OR ...
можно сказатьWHERE Acct.Cat IN (9,12,16,17)
- person Joel Coehoorn   schedule 31.05.2020