如何解决使用别名,联接和聚合错误消息访问
我精通T-SQL,但是在Microsoft Access 2019中是SQL的新手。我收到一条错误消息
您的查询未将指定的表达式“ Hospital”作为聚合函数的一部分。
医院是AdventoreWorks中DimReseller表中ResellerName的别名。我的代码如下:
SELECT USRegion,ZipCode,State,StateCD,City,ResellerName AS Hospital,LastName+','+FirstName AS Doctor,IllnessName,DimProduct.ProductKey AS IllnessCode,OrderDate as VisitDate,sum(OrderQuantity) as Prescriptions,Count(SalesOrderNumber) as Visits,sum(Population) as USPopulation
FROM ((((DIMSalesTerritory INNER JOIN DIMGeoUSwithPopulation
ON DimSalesTerritory.SalesTerritoryKey = DimGeoUSwithPopulation.SalesTerritoryKey)
INNER JOIN DIMReseller ON DimGeoUSwithPopulation.GeographyKey = DIMReseller.GeographyKey)
INNER JOIN FACTResellerSales ON DimReseller.ResellerKey = FactResellerSales.ResellerKey)
INNER JOIN DIMProduct ON FACTResellerSales.ProductKey = DIMProduct.ProductKey)
INNER JOIN Employee ON FactResellerSales.EmployeeKey = Employee.EmployeeKey
Group by USRegion,StateCd,Hospital,Doctor,IllnessCode,VisitDate
;
我尝试了内部,外部和右连接,并混合了不同类型的连接。我似乎对其他别名(例如Doctor或IllnessCode)没有问题。我试过几次重新排列联接的顺序。我已按列表将医院移至小组中的不同地点。我已经对仅加入FactResellerSales的DimReseller表进行了数据检查,并找到了数据。 Access SQL与T-SQL中的联接不同,我可能在那里出错了。我正在尝试为潜在的雇主创建工作样本,并希望获得任何帮助!
谢谢, 生姜
解决方法
在GROUP BY子句中,您必须使用原始列名/计算方式,而不是别名。
所以您需要:
str(zarList[0])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。