2017-09-05 62 views
2

我陷入困境,试图从myQuery中的MainTable创建每个文件名的出现次数。随着Access(是的,我知道)抱怨在第一次加入时缺少一个运算符,如果我删除第二次加入,这会起作用。SQL查询丢失操作员

我的确尝试简化这个以减少阅读。据我所知,运营商并不缺少。让我知道是否有更好的方法来做到这一点,或者如果你能发现问题。

SELECT DISTINCT 
     mainTable.Filename, 
     mainTable.Link, 
     otherTable.Field, 
     qryC.Total   
    FROM mainTable 
    LEFT JOIN otherTable 
     ON mainTable.number = otherTable.position_nbr 
    LEFT JOIN 
     (SELECT Filename, Count(*) As 
     Total FROM otherQuery 
     GROUP BY Filename 
     ) As qryC 
     ON mainTable.Filename = qryC.Filename 
    WHERE (((mainTable.Filename) IS NOT NULL 
    OR (mainTable.Filename) <> "")); 

回答

2

MS Access需要括号中的FROM子句中:

FROM (mainTable LEFT JOIN 
     otherTable 
     ON mainTable.number = otherTable.position_nbr 
    ) LEFT JOIN 
    (SELECT Filename, Count(*) As Total 
     FROM otherQuery 
     GROUP BY Filename 
    ) As qryC 
    ON mainTable.Filename = qryC.Filename 
+0

谢谢你,我一直在试图找出为什么这发生了大约一个半小时。我讨厌这是答案 – Segfaulter