如何对SELECT语句上定义的列执行算术运算

时间:2016-09-19 21:35:14

标签: sql

n

所有的连接和语句都完成了,当没有算术要做但没有错误时它会运行但是它会产生错误。不知道该怎么办。任何帮助将不胜感激提前感谢。

  

列名称无效' job_duration'

2 个答案:

答案 0 :(得分:0)

在查询执行之前,

job_duration不存在,您可以通过nesting将其执行到另一个sql子句中,或者执行此操作:

 SELECT DATEDIFF(MINUTE, j.start_time , j.end_time) AS job_duration, (jtype.cost_per_minute * DATEDIFF(MINUTE, j.start_time , j.end_time)) AS 'job_cost'

答案 1 :(得分:0)

撰写该陈述的另一种方式:

;with _CTE as 
(
SELECT YourJobId, DATEDIFF(MINUTE, start_time , end_time) AS job_duration
from YourTableName 
)
Select jtype.cost_per_minute * _CTE.job_duration AS 'job_cost'
from YourTableName as jType
  inner join _CTE on jtype.YourJobId = _CTE.YourJobId