Mysql SQL where筛选器,其中包含两个日期字段和todays日期

Mysql SQL where筛选器,其中包含两个日期字段和todays日期,mysql,date,Mysql,Date,我试图在执行SQL语句时计算行数 在表名项目范围中,我将7个任务(行)分配给用户id=1 我希望将任务延迟的总次数从完成日期列中减去今天的日期。 跳过任何等于100的任务(行)进度字段,这是已完成的任务 我是通过以下方式实现的: “从项目范围中选择*,其中assing\u to='1'和进度

我试图在执行SQL语句时计算行数

在表名项目范围中,我将7个任务(行)分配给用户id=1

我希望将任务延迟的总次数
完成日期列中减去今天的日期。 跳过任何等于100的任务(行)进度字段,这是已完成的任务

我是通过以下方式实现的:

“从项目范围中选择*,其中assing\u to='1'和进度<100,完成日期<'今日$”

但如果/何时

请看第一行,该任务有一个2_完成日期(第2个完成日期),如果用户无法完成任务,则会给出该日期。项目负责人将给出另一个完成任务的日期

如果2_completion_date字段大于今天的日期,则该行不应计数

我的问题是?

如何将2个完成日期包含在一起过滤完成日期2个完成日期的SQL中

到目前为止,我尝试了这些:

从项目范围中选择*,其中assing_to='uid'和progress<100和(完成日期<'today'或2完成日期<'today')

但是输出是0行。

可以看看COALESCE()
和COALESCE(2_completion_date,completion_date)<'$today'
COALESCE在一系列值中取第一个非空值。通过将2_completion_date放在第一位,如果为空,则将使用completion_date,否则使用2_completion_date进行评估合并(2_completion_date,completion_date)<'$today'有效,谢谢大家!!
SELECT * FROM project_scope WHERE assing_to = '$uid' AND progress < 100 AND (completion_date < '$today' OR 2_completion_date < '$today')