这是我查询的维护日期列表。
SELECT `checkdates`.`checkdateplanneddate`, `checkdates`.`checkdatevehicle`, `checktypes`.`checktype`, `checktypes`.`emailto`, `checktypes`.`daysnotice`
FROM `checkdates`
, `checktypes`
WHERE `checktypes`.`checktype` = `checkdates`.`checkdatechecktype`;
这个主意是.. 服务器每天都会根据为该类型支票设置的日期通知,通过电子邮件向客户发送电子邮件,告知他们即将到来的支票日期。 (参见图片)
当前它显示所有检查日期。
我需要做的就是过滤列表,这样它只显示日期 “今天日期加上checktypes.daysnotice”
我尝试了许多不同的查询,但是似乎无法获得正确的组合。
提前谢谢
我已附上图片以显示数据可用
答案 0 :(得分:0)
如果我正确理解了您的问题,并假设您正在运行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
子句中使用逗号)是一种非常古老的语法,不应在新代码中使用
表别名使查询更易于读写