有人可以帮我理解为什么 Access 不接受我的查询吗?我已经无计可施了。
SELECT
NCR.Stage
, AG.ID AS AgeGroup
, Count(*) AS AgeGroupCount
FROM (
qry1 AG
LEFT JOIN qry1 AGi ON (
AG.ID = AGi.ID + 1
)
)
LEFT JOIN qry2 AS NCR ON (
AG.AgeGroupLowerLimit <= NCR.Age
AND (
AGi.ID IS NULL
OR AGi.AgeGroupLowerLimit > NCR.Age
)
)
GROUP BY
NCR.Stage
, NCR.AgeGroup
;
问题与第二个左连接有关,qry2。 我在这里发帖是因为我希望它会是一些非常简单的东西,我只是不知道要寻找什么,当然 Access 本身是非常没有帮助的。 谢谢!
我想,表情
( AGi.ID IS NULL
OR AGi.AgeGroupLowerLimit > NCR.Age
)
您引用的字段无法在另一个表(查询的一部分)中引用。 您可以尝试将此条件移至 WHERE 子句。
试试这个
SELECT
NCR.Stage
, AG.ID AS AgeGroup
, Count(*) AS AgeGroupCount
FROM (
qry1 AG
LEFT JOIN qry1 AGi ON (
AG.ID = AGi.ID + 1
)
)
LEFT JOIN qry2 AS NCR ON (
AG.AgeGroupLowerLimit <= NCR.Age
)
WHERE (
AGi.ID IS NULL
OR AGi.AgeGroupLowerLimit > NCR.Age
)
GROUP BY
NCR.Stage
, NCR.AgeGroup
;
此外,在 SELECT 子句中
AG.ID AS AgeGroup
- 必须成为 GROUP BY 的一部分。