在WHERE子句中使用AS的查询问题

时间:2018-07-13 15:34:35

标签: sql sql-server

我有一个复杂的查询,它从多个字段中求和,除一个子选择(有多个子选择)外,其他所有查询似乎都工作正常。我有一个WHERE子句,它使用table1.field = table2.field AND CONVERT(DATE,date / time field)在“ firstDate”和“ lastDate”之间总计。在没有“ AS总计”的情况下,它可以正常工作,但是当我在包含“ AS总计”的情况下运行时,我的结果不会进入“总计”。不知道为什么我只能以一种方式得到结果,而不能以其他方式得到结果。由于AS似乎未获得返回的值,因此我在VS中收到“总计”的DBNull异常。

这是一个SQL Sever数据库。

SELECT 
    SUM(DATEDIFF(SECOND, a.intime, a.outtime)) 
FROM 
    table1 a, table2 a b
WHERE 
    a.empKey = b.employeeKey 
    AND CONVERT(DATE, outtime) BETWEEN '2018/07/12 4:00 AM' AND '2018/07/12 5:00 PM' AS total

1 个答案:

答案 0 :(得分:0)

我相信你想要

SELECT SUM(DATEDIFF(SECOND, a.intime, a.outtime)) as total
FROM table1 a JOIN
     table2 b
     ON a.empKey = b.employeeKey 
WHERE CONVERT(DATE, outtime) BETWEEN '2018/07/12 4:00 AM' AND '2018/07/12 5:00 PM' ;