2

有谁知道下面的查询中有什么不正确的?

SELECT S1.[Company], COUNT(S1.[Milestone]) AS ShouldBeMilestones

FROM Sheet1 AS S1

INNER JOIN Sheet1 S2
ON S2.[Company] = S1.[Company]
AND S2.[Project] = S1.[Project]
AND S2.[Milestone] = 'Milestone 1'
AND S2.[%compl#] = 100

INNER JOIN Sheet1 S3
ON S3.[Company] = S1.[Company]
AND S3.[Project] = S1.[Project]
AND S3.[Milestone] = 'Milestone 2'
AND S3.[%compl#] = 100

WHERE ((S1.[Task class] <> 'A') AND (S1.[Task class] <> 'B') AND (S1.[Task class] <> ''))
AND S1.[Milestone] NOT LIKE '0.*' AND S1.[Milestone] NOT LIKE '1.*'
AND S1.[Start] <= Now()

GROUP BY S1.[Company];

在 MS Access 2010 中运行时,我收到“FROM 子句中的语法错误”消息...

任何想法将不胜感激!

谢谢,

4

1 回答 1

0

JOINMS Access SQL 很奇怪,因为在多 JOIN 查询中,您必须在 s 周围加上括号。我讨厌这个功能,还没有自己解决它背后的“逻辑”。您可能很幸运在 Access 查询生成器中重新构建了一个简单版本,然后在不弄乱括号的情况下对其进行编辑。

于 2012-12-17T14:02:45.950 回答