我有一个Javascript函数,可以通过搜索框字段搜索Google Fusion表格列值。我试图让它用OR子句搜索多个列,但不能使它工作。
function changeMap_1() {
var whereClause;
var searchString = document.getElementById('search-string_1').value.replace(/'/g, "\\'");
if (searchString != '--Select--') {
whereClause = "'Name' CONTAINS IGNORING CASE '" + searchString + "'";
}
layer_0.setOptions({
query: {
select: "col5",
from: "1xTAvPva0-iIJo6UAKS1UuERYQTjdYZfvqOlIX_HM",
where: whereClause
}
});
}
这是上面的功能。我有多个“whereClause”值,但其他一切都是相同的。
whereClause = "'Name' CONTAINS IGNORING CASE '" + searchString + "'";
whereClause = "'Address' CONTAINS IGNORING CASE '" + searchString + "'";
whereClause = "'City' CONTAINS IGNORING CASE '" + searchString + "'";
我如何将这些“whereClause”结合起来或者这个或者这个......?
我尝试了以下两种,但它们没有用。
whereClause = "'Name' CONTAINS IGNORING CASE '" || "'City' CONTAINS IGNORING CASE '" + searchString + "'";
和
whereClause = "'Name' CONTAINS IGNORING CASE '" + searchString + "'" || "'Name' CONTAINS IGNORING CASE '" + searchString + "'";
有什么想法吗?
答案 0 :(得分:1)
谢谢大家的提示。我最终将所有列合并到新列中,然后在新列中进行搜索,因为它包含来自所有列的数据。
答案 1 :(得分:0)
在将其作为SQL发送之前,您似乎正在评估OR语句。这可能是问题吗?
类似的东西:
whereClause = "'Name' CONTAINS IGNORING CASE '" + searchString + "' | 'City' CONTAINS IGNORING CASE '" + searchString + "'";
或者喜欢:
whereClause = "'Name' CONTAINS IGNORING CASE '" + searchString + "' OR 'City' CONTAINS IGNORING CASE '" + searchString + "'";
我不熟悉Google Fusion Tables,但看起来他们有SQL查询风格。