3

我似乎不理解融合表查询的 WHERE 部分的语法。试图创建一个样式:数组(只有 4 个样式......)。

如果我注释掉查询的 WHERE 部分...一切都运行...但是使用 WHERE 查询 - 没有加载。

看起来像这样(注意:更改了名称,但没有更改标点符号):

var layer = new google.maps.FusionTables Layer({
    query:{
        select: 'geometry',
        from: 'Encrypted ID'
        where: 'ColumnName' = 'String',
    }

});

我用不同的语法尝试了这个 WHERE 查询的不同种类(特别是我有一个可以链接到实数的“ColumnName”)。

我很困惑我在哪里出错了......我应该使用“几何”列上的“选择”中的 ROWID 吗?我的操作和报价组合是否不好?...如果可以,请提供帮助。

非常感谢!!!

4

2 回答 2

4

您的 WHERE 子句有问题。

这是正确的:

where: "'ColumnName' = 'String'",

顺便说一句,如果某些东西不起作用,您应该始终首先检查您的 javascript 错误控制台...

于 2013-01-31T11:57:36.247 回答
2

从文档https://developers.google.com/fusiontables/docs/v2/sql-reference

(原始链接:https ://developers.google.com/fusiontables/docs/v1/sql-reference#Select ,根据 douglasg14b 的评论更新)

<column_condition>  
Used in the WHERE clause. The syntax is: <column_name> <operator> <value>

<column_name> is described earlier in this table.

For <operator>, use one of the following with a <number>:

>, <, >=, <=, =
For <operator>, use one of the following with a <string>:

>, <, >=, <=, =
LIKE
MATCHES (equivalent to LIKE)
STARTS WITH
ENDS WITH
CONTAINS
CONTAINS IGNORING CASE
DOES NOT CONTAIN
NOT EQUAL TO
IN

我建议不要将 <、<、>=、<=、= 与字符串一起使用;虽然文档说你可以,但我发现它有问题。您还需要在字符串和带有空格的列名周围使用单引号。

于 2013-01-31T11:48:35.307 回答