我试图创建一个报表函数,我在我的数据库中存储一些具有特定值(closeDate)的数据,这个值可以只有第7或第21,这里是我的表的一个例子:如何比较两个日期MySQL
我想要做的就是每22日执行一个查询,选择所有具有状态=“活动”或“关于批准”登记册和CloseDate <至22日(CURDATE)。我有这个查询,但这个查询显示图像中的所有完全一样,我期望的是查询只显示来自Id = 00001和00003的数据,因为Id 00002 CloseDate(2016-10-21)它不是< 2016-09-22(curdate)。
SELECT tbl_usuarios.Correo, tbl_alertas.Id, tbl_alertas.Purpose, tbl_alertas.Status, tbl_alertas.OpenDate, tbl_alertas.CloseDate, tbl_alertas.Owner, tbl_alertas.ValueStream, tbl_alertas.Family
FROM tbl_usuarios
INNER JOIN tbl_alertas ON tbl_usuarios.Nombre = tbl_alertas.Owner
WHERE STATUS = 'On approve' OR STATUS = 'Active' AND CloseDate < CURDATE()
我在做什么错了?
您需要了解[运算符优先级(HTTP://开发.mysql.com/DOC/refman/5.7/EN /运营商precedence.html)。你的查询执行为'status ='approve'或(status ='active'and closedat
添加到Marc B所说的内容;通常被认为是一种很好的做法,即使在不需要时也可以“强制”优先,以使意图清楚。 – Uueerdo