使用ACCESS将PIVOT表与来自其他两个表的数据连接起来

时间:2014-09-10 16:23:18

标签: c# ms-access

我在使用来自其他两个表的数据加入数据透视表时遇到问题。数据透视表工作正常但是当我加入它时会说“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

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

2 个答案:

答案 0 :(得分:1)

我认为您可以将隐式和显式联接组合在一起,并且您还将表Projects别名为p,将子查询别名为p

而不是FROM Projects p, Resources r,这是一个隐式连接,您应该将其设为显式连接FROM Projects p JOIN Resources r ON p.whatever = r.whatever,然后更改子查询的别名,使其不被命名为{{1 }}

外部查询和子查询中的资源别名为p,这是一个冲突。

这些是我立即看到的问题。

答案 1 :(得分:1)

您似乎正在加入别名子查询" p"另一个别名为" q"。因此,您的加入" ON p.resourceName = r.resourceName"应该是" ON p.resourceName = q.resourceName"。

WHERE和ORDER BY也显示不正确。

您是否尝试在查询编辑器中构建单个查询,保存它们,然后构建最终查询?检查生成的sql(查询> sql视图)应该可以帮到你。

相关问题