.net - 您尝试执行不包含指定表达式的查询错误

标签 .net ms-access

我有一个以下查询

SELECT 
   MonthNumber, 
   Sum(PhaseCost) AS PC, Sum(TotalCost) TC,
   PC / (TC-PC) AS PER 
FROM 
   Table1 
JOIN  
   Table2 ON Table1.MonthNumber = Table2.MonthNumber 
GROUP BY  
   MonthNumber

它工作正常并在 MS Access 中返回一条记录,但是当我尝试从 .Net 调用相同的记录时,我收到此错误

You tried to execute a query that does not include the specified expression PC/(TC-PC), And SUM(PC/(TC_PC)) is not allowed.

这是怎么回事?

最佳答案

您不能以这种方式引用PCTC。您必须使用他们的计算来代替他们的别名。

它应该写成:

SELECT MonthNumber, 
Sum(PhaseCost) AS PC, 
Sum(TotalCost) AS TC, 
Sum(PhaseCost)/(Sum(TotalCost)-Sum(PhaseCost)) AS PER 
FROM Table1 Join Table2 ON Table1.MonthNumber = Table2.MonthNumber 
Group By MonthNumber

免责声明:我没有测试此 SQL。

关于.net - 您尝试执行不包含指定表达式的查询错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24418174/

相关文章:

.net - .NET 4.6.1 中的默认 ServicePointManager.SecurityProtocol 值是什么?

c# - 强制构建静态对象

.net - 从数据库检索数据时进行强制转换还是转换?

python - 使用 Pandas 读取 Access 表的最简单方法?

sql - 如何从sql中的多表中删除一行?

ms-access - 当其他报告进行过滤时, Access 报告不进行过滤

c# - 在单元测试中生成线程

sql - 如何将同一个表中的一条记录与另一条记录相关联?

c# - 删除具有外键约束的 Access 记录

.net - 在集成测试中消息未发送到 Azure 服务总线