使用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
任何帮助都将不胜感激,谢谢!
我认为不能将隐式联接和显式联接组合在一起,而且还将表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视图)应该会对您有所帮助。