我需要在WHERE子句中对术语进行分组。例如,
WHERE (param1='foo1' OR param1='foo2') AND (param2='bar1' OR param2='bar2')
但它给我一个语法错误,说括号是“意外的”。实际错误是:
GQL query error: Encountered "(" at line 1, column 29. Was expecting one of: "false", "null", "true", <INTEGER>, <DOUBLE>, <SINGLE_QUOTE_STRING>, <DOUBLE_QUOTE_STRING>, <UNQUOTED_NAME>, <QUOTED_NAME>, <NAME_BINDING_SITE>, <POSITION_BINDING_SITE>
那么,我有什么方法可以运行该查询吗?
答案 0 :(得分:1)
我相信你面临的问题来自OR
运算符 - GQL没有运算符,因此你在paranthesis中的条件在语法上是不正确的。
从Clauses表中的WHERE
行(强调我的):
将结果集限制为满足一个或多个的实体 条件。每个条件都将实体的属性与a进行比较 使用比较运算符的值。如果组合多个条件 使用 AND 关键字,然后实体必须满足所有 查询返回的条件。 GQL没有OR 操作强>