使用多个左连接的MS Access SQL
问题描述:
下面的连接在Access中工作,但我需要添加第四个连接。使用多个左连接的MS Access SQL
FROM ((Agents
LEFT JOIN Resignation_Pool ON Agents.PF = Resignation_Pool.PF)
LEFT JOIN Teams ON Agents.Team = Teams.ID)
LEFT JOIN Skills ON Agents.PF = Skills.PF
当我添加第四个连接时,它不起作用。我知道Access对括号很奇怪,但我认为我有他们属于他们的地方。查询只会永远运行(它不应该长时间运行),我最终取消它。有什么建议么?
FROM (((Agents
LEFT JOIN Resignation_Pool ON Agents.PF = Resignation_Pool.PF)
LEFT JOIN Teams ON Agents.Team = Teams.ID)
LEFT JOIN Skills ON Agents.PF = Skills.PF)
LEFT JOIN OneMore ON Agents.OM = OneMore.OM
这是代码的作品 - 我的实际查询,而不是一个我发现看起来相似。
SELECT DISTINCT A02.PID, A02.PS, A02.PN, A02.PM, C01.RC, C01.IC, C01.RD
INTO AutoCR
FROM ((02_CorrectResults A02
LEFT OUTER JOIN dbo_pol_PGI C01
ON (A02.PID = C01.PID and C01.PS = '999' and C01.PEDate >= #04/01/2012#))
LEFT OUTER JOIN dbo_pol_IL C02
ON C01.PID = C02.PID)
LEFT OUTER JOIN dbo_pol_UN C03
ON C02.ILID = C03.ILID
我添加另一个连接,这是行不通的。我尝试使用内部连接,而不是Access。
SELECT DISTINCT A02.PID
, A02.PS
, A02.PN
, A02.PM
, C01.RC
, C01.IC
, C01.RD
, C04.CCode
, C04.PCode
, C04.CForm,
INTO AutoCR
FROM (((02_CorrectResults A02
LEFT OUTER JOIN dbo_rol_PGI C01
ON (A02.PID = C01.PID and C01.PS = '999' and C01.PEDate >= #04/01/2012#))
LEFT OUTER JOIN dbo_rol_IL C02
ON C01.PID = C02.PID)
LEFT OUTER JOIN dbo_rol_UN C03
ON C02.ILID = C03.ILID)
LEFT OUTER JOIN dbo_rol_HO C04
ON C03.UnID = C04.UnID
答
您的查询中有一个追踪,
。去掉它。
SELECT DISTINCT A02.PID
, A02.PS
, A02.PN
, A02.PM
, C01.RC
, C01.IC
, C01.RD
, C04.CCode
, C04.PCode
, C04.CForm, <--- this was the problem
INTO AutoCR
FROM (((02_CorrectResults A02
LEFT OUTER JOIN dbo_rol_PGI C01
ON (A02.PID = C01.PID and C01.PS = '999' and C01.PEDate >= #04/01/2012#))
LEFT OUTER JOIN dbo_rol_IL C02
ON C01.PID = C02.PID)
LEFT OUTER JOIN dbo_rol_UN C03
ON C02.ILID = C03.ILID)
LEFT OUTER JOIN dbo_rol_HO C04
ON C03.UnID = C04.UnID
当你删除括号的时候会发生什么? 你可以显示整个查询吗? – Ogelami 2013-03-27 10:11:39
使用设计器 – mcalex 2013-03-27 10:11:45
设计器给出错误Microsoft Access无法在设计视图中表示联接表达式。 – Tracy 2013-03-27 11:36:13