这是我对维护日期列表的查询。
SELECT `checkdates`.`checkdateplanneddate`, `checkdates`.`checkdatevehicle`, `checktypes`.`checktype`, `checktypes`.`emailto`, `checktypes`.`daysnotice`
FROM `checkdates`
, `checktypes`
WHERE `checktypes`.`checktype` = `checkdates`.`checkdatechecktype`;
想法是..服务器每天都会根据为该类型支票设置的天数通知客户,向客户发送电子邮件,以告知他们哪些支票日期即将到来。(见图片)
当前它显示所有检查日期。
我需要做的就是过滤列表,以便仅显示“ Todays date plus checktypes.daysnotice”的日期。
我尝试了许多不同的查询,但似乎无法获得正确的组合。
先感谢您
我已附上图片以显示数据可用
如果我正确理解了您的问题,并假设您正在运行MySQL(如使用反引号引起引用,并且phpmyadmin屏幕复制指示),则可以按以下方式使用日期算术:
SELECT cd.checkdateplanneddate, cd.checkdatevehicle, ct.checktype, ct.emailto, ct.daysnotice
FROM checkdates cd
INNER JOIN checktypes ct ON ct.checktype = cd.checkdatechecktype
WHERE cd.checkdateplanneddate = current_date + interval ct.daysnotice day
该where
条件实现了所需的逻辑。
旁注:
使用标准的显式联接!隐式连接(from
子句中带有逗号)是一种非常古老的语法,不应在新代码中使用
表别名使查询更易于读写
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句