gpt4 book ai didi

php - 如何使用日历表填补日期空白

转载 作者:行者123 更新时间:2023-11-29 11:57:34 24 4
gpt4 key购买 nike

我尝试使用日历表,但我的查询仍然显示记录中的日期间隙,我的内部联接是否错误?这是我的 mysql 查询:

SELECT c.dt,a.TimeIn,a.LunchOut,a.LunchIn,a.TimeOut FROM cal c 
RIGHT JOIN attendance a ON a.ValidDate = c.dt WHERE c.dt BETWEEN DATE('2015-01-01')
AND DATE('2015-01-30') AND a.EmpID = '01409159'

最佳答案

您的 RIGHT JOIN 保留 attendance 中的每一行表,但会删除 cal 中不匹配的角色表。

您需要 LEFT JOIN,因此您可以保留 cal 中的每一行 table 。另外,你的a.col = value WHERE 子句将 LEFT JOIN 转换为 INNER JOIN。尝试将您的选择性移至 a.EmpID从 WHERE 子句到 ON 子句。

此外,您应该使用 >= 处理日期范围。和<而不是 BETWEEN,因为 BETWEEN有时会弄乱日期范围的结尾。

SELECT c.dt, 
a.TimeIn, a.LunchOut, a.LunchIn, a.TimeOut
FROM cal c
LEFT JOIN attendance a ON a.ValidDate = c.dt AND a.EmpID = '01409159'
WHERE c.dt >= '2015-01-01'
AND c.dt < '2015-01-01' + INTERVAL 1 MONTH

关于php - 如何使用日历表填补日期空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32960379/

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