我几乎无处不在地发现这一点.
我有以下sql语句:
SELECT COUNT(*) FROM `job_sheet`
LEFT JOIN deliveries ON job_sheet.job_id=deliveries.jID
WHERE job_sheet.completion=".ORDER_COMPLETE."
AND deliveries.ship_date>job_sheet.delivery_date
这基本上告诉我哪些已完成的作业已经过了delivery_date(DUE DATE).
但是,真正的交付日期实际上是7个工作日(假期并不重要.基本上只是跳过周末),而不是数据库中的数据.
我需要做的是在此部分添加7天:deliveries.ship_date> job_sheet.delivery_date 7个工作日
我的第一个想法是使用DATEADD()函数,但是我很少使用它,并且在这种情况下如何实现它很困惑.
日期存储为:YYYY-MM-DD
最佳答案
试试这个
SELECT COUNT(*) FROM `job_sheet`
LEFT JOIN deliveries ON job_sheet.job_id=deliveries.jID
WHERE job_sheet.completion=".ORDER_COMPLETE."
AND deliveries.ship_date> DATE_ADD(`job_deliveries.ship_date`,INTERVAL 7 DAY)