这是我第一次在Access数据库中尝试交叉表查询。我试图将我需要的计数信息从两个表中获取到查询中,以便我可以将信息放在基于该查询的报告中。我可以做一个子报告,但信息在同一个表中会很好。
这是我当前的SQL代码:
TRANSFORM Count(RequestTable.RequestID) AS CountRQ
SELECT PatronTable.Department, Count(RequestTable.RequestID) AS SumRQ
FROM PatronTable INNER JOIN RequestTable ON PatronTable.PatronID = RequestTable.PatronID
GROUP BY PatronDatabase.Department
PIVOT PatronDatabase.PatronType;
我想添加每个部门中有多少赞助人ID的行标题计数。
当我添加行标题时,这是我的SQL:
TRANSFORM Count(RequestTable.RequestID) AS CountRQ
SELECT PatronDatabase.Department, Count(RequestTable.RequestID) AS SumRQ, Count(PatronDatabase.PatronID) AS PatronCount
FROM PatronDatabase INNER JOIN RequestTable ON PatronDatabase.PatronID = RequestTable.PatronID
GROUP BY PatronDatabase.Department
PIVOT PatronDatabase.PatronType;
然而,PatronCount总数是错误的。 PatronCount(每个部门的人数)最终与SumRQ(每个部门中的请求总数)相同,当数字应该更少时。我一直在玩它,我似乎无法解决它。
作为附加信息,表PatronDatabase(一个)和RequestTable(很多)之间存在一对多的关系。
任何帮助将不胜感激。
答案 0 :(得分:0)
我最终使用Stacked Queries,这解决了这个问题。通过将先前的查询堆叠在一起(查询引用具有正确总数的查询),我最终能够构建一个包含我想要的表单所有信息的查询。