首页 > 解决方案 > 如何在 Medoo SQL 语句的 WHERE 子句中写入“AND”和“OR”

问题描述

我正在尝试在 Medoo 中编写一个复杂的 SQL 选择语句,其中涉及一些 AND 条件和一些 OR 条件。

以下是我写的声明:

debug()->select("ValuesEvaluationInstrument", "*", ["AND"=> ['secondReviewComplete' => "Yes"], "OR" => $filters]);

这将打印 SQL 查询:

SELECT * FROM "ValuesEvaluationInstrument" WHERE "yearInstrumentPublished" IN ('2019','2018','2017','2016','2015','2014','2013','2012','2011','2010') OR "validated" IN ('Yes') OR "secondReviewComplete" IN ('Yes')

但是,它应该打印:

SELECT * FROM "ValuesEvaluationInstrument" WHERE "yearInstrumentPublished" IN ('2019','2018','2017','2016','2015','2014','2013','2012','2011','2010') OR "validated" IN ('Yes') AND "secondReviewComplete" IN ('Yes')

我想要实现的是让“secondReviewComplete”列成为 AND,以便返回的所有结果都将该列设为 Yes。

有人可以帮助正确地写这个吗?

标签: phpmysqlsqlmedoo

解决方案


我刚刚想通了。在这里为可能有同样问题的其他人发布此信息:

debug()->select("ValuesEvaluationInstrument", "*", ["AND"=> ['secondReviewComplete' => "Yes", "OR" => $filters] ]);

如果这有帮助,请点赞。


推荐阅读