我在使用ST_INTERSECTS或ST_OVERLAPS时遇到此查询的问题。它不适用于JOIN(s)函数。
SELECT T1.'ZIP', T2.name
FROM 1fzwSGnxD0xzJaiYXYX66zuYvG0c5wcEUi5ZI0Q as T1
LEFT OUTER JOIN 1vVUoTyGcnlbxmd66lZeHj81-tbgpIyKpVmXaZxYH as T2
ON ST_OVERLAPS(T1.'geometry', T2.geometry, 0.1)=1 LIMIT 1
我已经通过多种方式测试了这些查询。 以下是两个工作示例,每个表从一个表中拉出带有别名的相同字段:
SELECT `ZIP` as z, `geometry` as gr FROM 1fzwSGnxD0xzJaiYXYX66zuYvG0c5wcEUi5ZI0Q
SELECT 'name' as n, 'geometry' as gl FROM 1vVUoTyGcnlbxmd66lZeHj81-tbgpIyKpVmXaZxYH
你可以用我所看到的方式,以相同的方式使用'和`表格。
一旦我加入,查询就会停止工作,我已经尝试了视图,但也失败了。 我尝试了失败的ST_INTERSECTS。 我尝试重叠= t而不是= 1并且没有任何一个。
当我这样写时似乎效果最好:
SELECT T1.'ZIP', T2.'name' FROM 1fzwSGnxD0xzJaiYXYX66zuYvG0c5wcEUi5ZI0Q as T1, 1vVUoTyGcnlbxmd66lZeHj81-tbgpIyKpVmXaZxYH as T2 WHERE ST_OVERLAPS(T1.'geometry', T2.'geometry', 0.1)=1 LIMIT 1
但是每个逗号都会失败。
我在https://developers.google.com/apis-explorer/#p/fusiontables/v1/fusiontables.query.sql
测试了这些查询任何帮助都会很棒。
答案 0 :(得分:2)
必须像这样的多边形
SELECT 'name' FROM 1vVUoTyGcnlbxmd66lZeHj81-tbgpIyKpVmXaZxYH
WHERE ST_INTERSECTS('geometry',
POLYGON(
LATLNG(40.249528, -120.8435),
LATLNG(40.258326, -121.061249),
LATLNG(40.301765, -121.007911),
LATLNG(40.249528, -120.8435)))
这些是我从zip 00012获得的结果。我假设超过预期(必须仔细检查),但至少查询有效。
fran id:50315 fran id:50204 fran id:51489 fran id:51318 fran id:51404 fran id:54023 fran id:53658 fran id:54404 fran id:50611 fran id:51406 fran id:53302