4

我的 SQL 查询是:

SELECT * FROM 1910640 WHERE stype='P' OR stype='ERC' OR stype='PERC' ORDER BY ST_DISTANCE(geometry, LATLNG(-0.12623619999999391,51.5001524)) LIMIT 6

这会导致“解析错误”。如果我用 AND 替换 OR 查询返回成功:

SELECT * FROM 1910640 WHERE stype='P' AND stype='ERC' AND stype='PERC' ORDER BY ST_DISTANCE(geometry, LATLNG(-0.12623619999999391,51.5001524)) LIMIT 6

还有其他人使用 Fusion Tables 遇到过这个问题并有解决方案/解决方法吗?

API 文档确实暗示只允许 AND,这对我来说是一个很大的惊喜。 http://code.google.com/apis/fusiontables/docs/developers_guide.html#Querying

4

3 回答 3

4

不支持 OR - 查看 API ref filter_conditions

支持 IN - 因此您可以输入 SType 的所有 OR 条件

于 2011-10-26T14:32:07.543 回答
0

如果我在说傻话,请原谅,因为我从来没有使用过融合表,但是OR查询可以分成 2 个查询,每个条件一个。

此解决方法的主要问题是,在合并两个查询时,您必须在编程语言中实现 ORDER。

于 2011-10-26T14:29:06.023 回答
0

您可以使用 IN 代替 OR,因为融合表不支持 OR。

http://www.w3schools.com/sql/sql_in.asp

于 2012-12-26T08:01:15.940 回答