Sql连接仅显示可用时间

时间:2012-04-02 20:32:32

标签: sql join rdbms

我要做的是以下内容: -

查询我的数据库以仅显示尚未使用的时隙并将其填充到下拉框中。 (我知道如何将它填充到下拉框中。)

这就是我所拥有的: - (表)

     Appointment:-             Availability:-
     AppointmentTime           AvailabilityTime
     AppointmentDate           EmployeeId
     ClientID
     EmployeeId

从研究中我非常肯定我需要在我的SQL语句中使用join命令。

对我而言,这样做的合理方式是,为了实现我想要的目标,我需要在约会表中检查可用性时间和员工ID,如果没有匹配则意味着选择的约会时间是免费的,所以这提供了显示所有可用空闲插槽的理由。

问题是我不太清楚如何明智地做这个SQL,任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:1)

我认为你的架构搞砸了(你在一个表中有时间,在另一个表中有时间和时间)。但要点是这样的:

SELECT *
FROM Availability
WHERE NOT EXISTS
(
    SELECT 1
    FROM Appointment
    WHERE Appointment.AppointmentTime = Availability.AvailabilityTime
        AND Appointment.EmployeeID = Availability.EmployeeID
)