您试图执行不包含指定表达式错误的查询

时间:2014-06-25 20:43:31

标签: .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调用相同的内容时出现此错误

  

您尝试执行的查询不包含指定的表达式PC /(TC-PC),并且不允许使用SUM(PC /(TC_PC))。

发生了什么事?

1 个答案:

答案 0 :(得分:2)

您不能以这种方式引用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。