使用ACCESS将PIVOT表与另外两个表中的数据连接起来

本文关键字:两个 连接 数据 起来 PIVOT ACCESS 使用 | 更新日期: 2023-09-27 18:21:20

我在将数据透视表与另外两个表的数据连接起来时遇到了问题。透视表工作正常,但当我加入它时,它会显示"FROM子句中的语法错误"

SELECT r.resourceName AS 'Employee Name',
p.projectNumber AS 'Project Number',
p.projectSystem AS 'Project System',
p.projectManager AS 'Project Manager',
a.projectName AS 'Project Name'
FROM Projects p
LEFT JOIN 
(TRANSFORM SUM(a.AllocationValue) 
SELECT r.ResourceName, a.ProjectName                                                     
FROM Resources r
GROUP BY a.ResourceName, a.ProjectName
PIVOT a.AllocationMonth IN ('June, 2014', 'July, 2014', 'August, 2014') q
ON p.resourceName = q.resourceName
WHERE p.projectName = a.projectName 
ORDER BY r.resourceName, a.projectName

任何帮助都将不胜感激,谢谢!

使用ACCESS将PIVOT表与另外两个表中的数据连接起来

我认为不能将隐式联接和显式联接组合在一起,而且还将表Projects别名为p,将子查询别名为p

应该将FROM Projects p, Resources r作为隐式联接,而不是将其作为显式联接FROM Projects p JOIN Resources r ON p.whatever = r.whatever,然后更改子查询的别名,使其不同时命名为p

在外部查询和子查询中,资源也被别名为r,这是一个冲突。

这些都是我马上看到的问题。

看起来您正在将一个别名为"p"的子查询连接到另一个别名"q"的查询。因此,您的加入"ON p.resourceName=r.resourceName"应为"ON p.resourceName=q.resourceName"。

WHERE和ORDER BY也显示不正确。

您是否尝试过在查询编辑器中构造单个查询,保存它们,然后构造最终查询?检查生成的sql(查询>sql视图)应该会对您有所帮助。