0

我目前有一个名为 civic_zip_code 的数据库表,其中包含 zip、city、state、latitude、longitude 列。

我一直在努力让它工作一段时间,但我不太明白。基本上,由于某些城市有多个邮政编码,我正在尝试创建一个表格,允许我将所有邮政编码与该城市相关联。因为我想让它随时可用,所以我想把它转储到一个表中,所以我试图想出一个 SELECT INTO 语句来为我完成这一切。

我目前有这个:

select distinct concat(city, ', ', state) as location, city, state, group_concat(zip SEPARATOR '|') as zip_codes 
from civic_zip_code 
group by city

我所拥有的似乎很接近,但我似乎有一个问题,它似乎只在城市上使用 distinct。我在结果中只得到了明尼苏达州罗切斯特市,我确信至少也应该有一个纽约州罗切斯特市。此外,它结合了邮政编码,所以虽然我只得到了明尼苏达州罗切斯特市,但它在明​​尼苏达州罗切斯特市的 zip_codes 列中包含了纽约州罗切斯特市的邮政编码。

下面正是我在罗切斯特看到的。

location       city          state          zip_codes
-------------- ------------- -------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Rochester, MN  Rochester     MN             55903|55904|55905|55906|48309|55902|55901|46975|48308|53167|48307|48306|62563|79544|42273|05767|14664|14683|14653|14660|14673|02770|03839|14694|14652|14651|14650|14649|14692|03868|15074|03866|03867|14647|14607|14606|14639|14642|14064|14601|14611|14608|14610|14602|14621|14622|14626|14603|14624|14609|14627|14604|14605|14623|14643|14619|14612|14625|14644|14613|14645|14646|14617|14618|14614|14616|14620|14615|14638|98579

我知道至少 146xx 邮政编码应该是纽约州罗切斯特的一部分,而不是明尼苏达州罗切斯特的一部分。

即使我把它拿出来,它似乎也遇到了同样的问题。

我尝试了其他一些查询,但似乎都没有得到我想要的东西。

是否有我遗漏的东西或一种简单的方法来实现我正在寻找的东西?

谢谢!

4

1 回答 1

1

听起来您想按城市和位置进行分组。像这样:

select distinct concat(city, ', ', state) as location, city, state, group_concat(zip SEPARATOR '|') as zip_codes 
from civic_zip_code 
group by concat(city, ', ', state),city
于 2012-04-26T20:06:41.483 回答