我在使用来自其他两个表的数据加入数据透视表时遇到问题。数据透视表工作正常但是当我加入它时会说“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
任何帮助将不胜感激,谢谢!
答案 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视图)应该可以帮到你。