SQL:如何存储和选择在相同日期范围内可用的人员

时间:2017-05-02 07:50:35

标签: mysql sql

从下图中,我想......

1.找到解决方案,以存储每个用户的不可用日期 2.我想选择指定日期范围内可用的用户。

红色=不可用,白色=可用。

示例:我将在第3天到第4天开设培训课程,因此我应该将Mr.A和Mr.C作为我的查询结果。

enter image description here

1 个答案:

答案 0 :(得分:0)

嗯,你可以有一个这样的表:

Create table course_calendar (
date date not null,
course_id int not null,
tutor_id int default null,
primary key (date, course_id)
) engine = innodb;

create table tutor_calendar (
date date not null,
tutor_id int not null,
available enum('Y','N') default 'N',
Primary key (date, tutor_id)
) engine = innodb;

然后你需要加入这两个表,看看哪个course_calendar有tutor_id为null 并查看哪个tutor_calendar有tutor_id且可用=' Y'对于相同的日期。