0

我有两个数据集:1. ZipCodes 和 2. Neighborhoods(将它们视为县)。

我想加入邮政编码覆盖的每个社区。大多数社区只会在一个邮政编码范围内,但在某些情况下,社区会跨越两个。例如:

邻域 1 在 20001 内部
邻域 2 在 20002 内部
邻域 3 在 20001,20002 内部

这是我到目前为止所拥有的:

SELECT name, zipcode  
FROM    
neighborhood_names nn, dc_zipcode_boundries dzb
WHERE ST_Intersects(nn.the_geom, dzb.the_geom);

注意:根据评论更新到 inside,现在得到每个社区的答案,但仍然无法让 Array 函数按预期响应。

4

1 回答 1

0

我想到了。感谢约翰的帮助。我的声明需要一个 group by (这就是错误所说的,只是需要一些时间来消化它才能点击)。

下面的片段适用于任何关注

SELECT name, array_to_string(array_agg(zipcode), ',') 
FROM    
neighborhood_names nn, dc_zipcode_boundries dzb
WHERE ST_Intersects(nn.the_geom, dzb.the_geom)
group by name
于 2015-06-14T19:38:13.900 回答