SQL Server Management Studio에서 작동하는 쿼리를 MS Access로 전송하는 데 문제가 있습니다.다중 조인 (MS Access)이 포함 된 중첩 선택 문
Syntax error in JOIN operation
이 오류가 발생하면 'FROM ProductRun'행이 강조 표시됩니다.
Access에서 여러 Join 문을 처리 할 때 대괄호가 필요하다고 생각합니다. 나는 붙어있다. 도와주세요.
SELECT
LoadTable.DateTimeStamp, ProgramTable.Value 1, PL.Value 2, PL.Value 3
FROM
((LoadTable
LEFT JOIN
ProgramTable ON LoadTable.DateTimeStamp = ProgramTable.DateTimeStamp)
LEFT JOIN
PL ON LoadTable.DateTimeStamp = PL.DateTimeStamp)
LEFT JOIN
(SELECT [StartTime], [EndTime]
FROM ProductRun
WHERE ProductRun.StartTime >= '11/1/2017'
AND ProductRun.Startime <= '12/1/2017') ON (LoadTable.DateTimeStamp >= DATEADD(MINUTE, 15, ProductRun.StartTime)
AND LoadTable.DateTimeStamp <= DATEADD(MINUTE, -15, ProductRun.EndTime))
ORDER BY
LoadTable.DateTimeStamp;
이 잘 작동 Management Studio의 내 중첩 된 select 문입니다 :
LEFT JOIN (SELECT [StartTime]
,[EndTime]
FROM [ProductionReporting].[dbo].ProductRun
WHERE StartTime between '11/1/2017 12:00:00 AM' and '11/25/2017 12:00:00 AM') as M3
ON M1.DateTimeStamp between DATEADD(MINUTE,15, M3.StartTime) and DATEADD(MINUTE,-15, M3.EndTime)
나는 MS 액세스가 'ON에서 불평등을 할 수 있습니다 생각하지 않는다 조항. –
Management Studio에서 중첩 된 쿼리를 포함하도록 원래의 게시물을 편집했습니다. 논리 테스트가 ON 절에서 허용되지 않으면 Access에서이 작업을 수행하는 방법은 무엇입니까? – MTdoe
@GordonLinoff 액세스는 그들을 허용합니다 (여러 쿼리에서 사용했습니다). 나는 Kashif가 정확하게 오류를 발견했다고 생각하는데, 'DateAdd'의 첫 번째 인수는 문자열이어야하고,'MINUTE'는 유효한 인수가 아닙니다 (Access는 아마 그 인수가 하나가되어서는 안되는 곳의 매개 변수라고 생각합니다). 또한'ON' 절의 다중 비교 = 액세스가 필요한 괄호 –