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



我有一个复杂的查询,从几个字段中获取求和,除了一个子选择(有几个(之外,所有字段似乎都很好。我有一个WHERE子句,它使用table1.field=table2.field AND CONVERT(DATE,日期/时间字段(BETWEEN'firstDate'AND'lastDate'作为合计。它在没有"AS total"的情况下运行得很好,但当我在包含"AS totals"的条件下运行它时,我的结果不会进入"total"。不知道为什么我会以这样的方式得到结果,而不是另一种方式。由于AS似乎没有得到返回的值,我在VS中得到"total"的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

我相信你想要:

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' ;

最新更新