我有一个 MySQL 查询,用于检查员工计划数据库,并且(感谢之前的 stackoverflow 问题)返回用户不工作的任何日期为“不工作”,因此如果用户在星期四不工作,则查询填充即使该日期没有出现在原始结果集中(因此我不必通过 PHP 脚本填写这些空白)。
现在的问题是,如果用户在两周后查看日程安排,则整周都显示“无工作”。如果没有结果,脚本应该输出“对不起,本周没有发布时间表”,这样用户就不会被误导以为他有一周的休息时间并且知道稍后再回来查看。
所以问题是:什么是最好的查询语法,例如:
SELECT
If Count(*) > 0 {
COALESCE(gooddata, nulldata) AS thedata
etc.
etc.
FROM sched_table
WHERE dates BETWEEN xxx AND yyy
因此,如果所有行都为空(或计数为 0),它不会返回任何行。
我尝试添加一列进行计数并让脚本输出“未发布”并在一次迭代后退出,但在好几周后它仍然在一次迭代后退出,所以我很沮丧。
我敢肯定,如果我退后一步,我可以让脚本做我想做的事,但我很好奇是否有办法在查询中做到这一点,以便至少有一行用于合并其他空行的非 Null 值。