我试图弄清楚为什么这个查询返回表中的所有数据:
State IN ('North Dakota') AND ('Homicide Offenses' > 0 OR 'Assault Offenses' > 0)
我已经包含了我用于生成此语句的代码。该代码适用于单个搜索,例如:
State IN ('North Dakota') AND 'Homicide Offenses' > 0
但不适用于其他任何事情。感谢您提供的任何见解。
function getWhere() {
var caps = getCAPS(); //Returns an array of user selections
var states = getStates(); //Returns an array of selected states
var where = "State IN (" + states.join(",") + ')';
if (caps.length) {
if (caps.length == 1) {
where = where + " AND " + caps.pop();
} else {
where += " AND (";
while(caps.length) {
if(caps.length == 1) {
where += caps.pop() + ")";
} else {
where += caps.pop() + " OR ";
}
}
}
}
return where;
}
答案 0 :(得分:0)
列中的这些列或值是?可能需要将where语句更改为如下所示:
State IN ('North Dakota') AND Offence IN ('Homicide Offenses' , 'Assault Offenses')
答案 1 :(得分:0)
试试这个。 国家IN('北达科他州')和('凶杀案罪行'> 0或'袭击罪行'> 0)和州(' #39;北达科他州')'
这应该对你有用。
答案 2 :(得分:0)
如果两者都是
itemSortOrder
和
State IN ('North Dakota') AND ('Homicide Offenses' > 0)
确实按预期工作,我是否检查
< FILTER_CONDITION>
布尔表达式(返回TRUE或FALSE)。只有条件为TRUE的表行才会包含在SELECT的结果中。使用AND将多个过滤器组合到一个查询中。 [...] OR支持 。
(来自Fusion Tables REST API - Row and Query SQL Reference)实际上应理解为:否 State IN ('North Dakota') AND ('Assault Offenses' > 0)
。 (......以及当观察到的效果被忽略时它是否会导致。)
(此" OR 不支持"同时显示在文档的OR
和SELECT
CREATE VIEW
部分。 ..)。