sql - 在 WHERE 子句中使用 AS 查询问题
问题描述
我有一个复杂的查询,从几个字段中获取总和,除了一个子选择(有几个)之外,所有的似乎都工作正常。我有一个 WHERE 子句,它使用 table1.field = table2.field AND CONVERT(DATE, date/time field) BETWEEN 'firstDate' AND 'lastDate' AS total。如果没有“AS 总计”,它可以正常工作,但是当我使用“AS 总计”运行它时,我的结果不会进入“总计”。不知道为什么我以一种方式得到结果,而不是另一种。由于 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' ;
推荐阅读
- java - 将所有值向上移动并将新值置于底部
- xml - 如何在 Mulesoft Dataweave 中删除 XML 命名空间
- node.js - 参数“req”隐式具有“任何”类型 - 打字稿
- python - 是否可以在 python 中同时控制多个浏览器窗口?
- swift - Xcode:导航到下一个/上一个断点的键盘快捷键
- c - 为什么我为支持我的主程序而创建的 C 文件不从 main 继承包含和定义?
- workbox - Uncaught in promise no response Workbox v5
- java - React-Spring Boot Web APP 的 CORS 问题
- c++builder - C++Builder 10.4:如何关闭缩进线?
- android - 如果给定谓词为空,是否可以跳过过滤器?