gpt4 book ai didi

php - 获取特定日期不在另一个表中的记录。 MySQL

转载 作者:行者123 更新时间:2023-11-29 11:32:40 25 4
gpt4 key购买 nike

我需要取回某个日期不在另一个表中的数据。

+------+--------+---------------------+---------------------+
| calID| jobID | startDate | endDate |
+-- ---+--------+---------------------+---------------------+
| 1 | 2 | 2016-05-13 00:00:00 | 2016-05-13 00:00:00 |
| 2 | 3 | 2016-05-14 00:00:00 | 2016-05-14 00:00:00 |
| 3 | 1 | 2016-05-15 00:00:00 | 2016-05-15 00:00:00 |
+------+--------+---------------------+---------------------+

这是 job_calendar。我需要在给定日期与工作无关的员工。

+------+--------+---------+
| id | calID | staffID |
+-- ---+--------+---------+
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 1 | 3 |
+------+--------+---------+

这是工作人员和职位的 job_staff 表。

+---------+-----------+----------+
| staffID | firstName | lastName |
+---------+-----------+----------+
| 1 | John | Smith |
| 2 | Max | Power |
| 3 | Jane | Doe |
+---------+-----------+----------+

最后是resource_staff 表。这存储了所有用户信息。我之前一直在尝试一些查询,虽然我认为我已经很接近了,但我需要一些帮助。

SELECT
*
FROM
resource_staff
LEFT JOIN
job_staff
ON
resource_staff.staffID = job_staff.staffID
LEFT JOIN
job_calendar
ON
job_staff.calID = job_calendar.calID
WHERE
job_staff.staffID IS NULL
AND
job_calendar.startDate = "2016-05-13 00:00:00"

任何帮助将不胜感激,抱歉,如果我造成了麻烦或其他方面。

编辑:

我希望获得用户选择的特定日期内尚未分配给作业的所有结果。

最佳答案

试试这个

SELECT
*
FROM
resource_staff
where

staffID NOT IN (select jc.staffID from job_calendar as jc
JOIN job_staff as js ON js.calID=jc.calID
WHERE "2016-05-13 00:00:00" BETWEEN jc.startDate and jc.endDate )

关于php - 获取特定日期不在另一个表中的记录。 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37134231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com