sql-server - 包括终止员工 6 个月内的日期,同时仍显示在职员工 SQL Server
问题描述
我试图在我的查询中包括终止日期在 6 个月之前的任何员工,同时还包括在职员工。我已经包括了以下内容,但这样做会过滤掉活跃的员工。我怎样才能做到这一点?
JOIN Employees1 e
ON e.ClientID = c.ClientID
JOIN Employees2 d
ON d.ClientID = e.ClientID
AND d.EmployeeUID = e.EmployeeUID
AND TerminationDate >= Dateadd(Month, Datediff(Month, 0, DATEADD(m, -6,current_timestamp)), 0)
另外,有没有办法回到当前日期前 6 个月的确切日期,而不是包括 6 个月前的整个月份?
解决方案
如果您只想要活跃或满足条件的员工,则OR
在FROM
子句中使用:
select e.*
from employees e
where e.TerminationDate >= DATEADD(month, -6, current_timestamp) OR
e.TerminationDate IS NULL;
推荐阅读
- flutter - 我似乎无法通过 pubspec.yaml 下载/安装 carousel_slider 包
- if-statement - Filter data using IF Statement in Tableau
- r - 特定日期的数字向量
- c# - Xamarin DependencyService.Get 在后台线程中。最佳实践?
- java - Minecraft 插件帮助(Spigot)
- r - 根据 R 中的行值更改字符列的内容
- python-3.x - 使用 Python 3 运行 Apache Beam v 2.2.5 时,我应该使用哪个版本的 dill?
- azure - 如何从 Microsoft Synapse 数据库更新 Azure 地图中的弹出窗口
- sql - 从查询创建 SQL 表
- r - 在没有标签的情况下向 ggplot 添加小中断