SQL时间表系统

时间:2017-02-13 15:16:40

标签: sql

所以目前我有一个调度系统,可以在屏幕上显示结果,用户可以在其中填充开放的插槽。以下是目前的链接。

enter image description here

当我想开始新的一周时会出现问题。该表由63个插槽组成。这是我目前使用的当前查询:

Select  volunteer.F_Name
      , volunteer.L_Name
      , session.Session_Id
      , vol_session.Vol_Id
      , WEEK(vol_session.Date)
From    vol_session
Right Join session
        On vol_session.Session_ID = session.Session_Id
Left Join volunteer
        On volunteer.Vol_ID = vol_session.Vol_Id
Where   WEEK(vol_session.Date) Is Null
        Or WEEK(vol_session.Date) = '6'
Order By session.Session_Id;

如果志愿者在另一周内选择相同的插槽,则查询不会显示所有63个结果。

enter image description here

正如您所看到的,结果18丢失了,因为下周有人占用了这个位置。需要发生的是,这个丢失的18个插槽应该显示为NULL,以便我能够允许它被预订。

0 个答案:

没有答案