【问题标题】:How to write "AND" and "OR" in WHERE clause in a Medoo SQL statement如何在 Medoo SQL 语句的 WHERE 子句中写入“AND”和“OR”
【发布时间】:2019-04-21 23:08:38
【问题描述】:

我正在尝试在 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。

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

【问题讨论】:

  • 可能需要知道$filters的内容是什么
  • 可以看到打印出来的sql查询的内容。

标签: php mysql sql medoo


【解决方案1】:

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

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

如果这有帮助,请点赞。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 2021-02-02
    • 2021-04-25
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    相关资源
    最近更新 更多