相关疑难解决方法(0)

确定两个日期范围是否重叠

给定两个日期范围,确定两个日期范围是否重叠的最简单或最有效的方法是什么?

举个例子,假设我们有通过日期时间变量表示的范围StartDate1EndDate1 StartDate2EndDate2.

language-agnostic math datetime

1180
推荐指数
16
解决办法
38万
查看次数

选择仅属于特定部门的用户

我有下表有两个字段,即a和b,如下所示:

create table employe
(
    empID varchar(10),
    department varchar(10)
);
Run Code Online (Sandbox Code Playgroud)

插入一些记录:

insert into employe values('A101','Z'),('A101','X'),('A101','Y'),('A102','Z'),('A102','X'),
             ('A103','Z'),('A103','Y'),('A104','X'),('A104','Y'),('A105','Z'),('A106','X');


select * from employe;
Run Code Online (Sandbox Code Playgroud)
empID   department
------------------
A101    Z
A101    X
A101    Y
A102    Z
A102    X
A103    Z
A103    Y
A104    X
A104    Y
A105    Z
A106    X
Run Code Online (Sandbox Code Playgroud)

注意:现在我想显示仅属于该部门Z且仅属于该部门的员工Y.因此,根据条件,A103应该显示唯一的员工,因为他只属于部门ZY.但员工A101不应该出现,因为他属于Z,X, and Y.

预期成果:

如果条件是:ZY则结果应该是:

empID
------
A103
Run Code Online (Sandbox Code Playgroud)

如果条件是:ZX则结果应该是:

empID
------ …
Run Code Online (Sandbox Code Playgroud)

sql sql-server postgresql sql-server-2008-r2

23
推荐指数
4
解决办法
2533
查看次数