我目前有一个名为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
我所拥有的似乎很接近,但我似乎有一个问题是它似乎只是在城市上使用不同的东西。我在结果中只得到明尼苏达州罗切斯特,在那里我肯定至少应该是纽约罗切斯特。此外,它正在组合邮政编码,所以虽然我只收到明尼苏达州罗切斯特市,但它包含罗切斯特,纽约邮政编码,位于明尼苏达州罗切斯特市的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邮政编码应该是纽约罗切斯特的一部分,而不是明尼苏达州罗切斯特。
即使我明确表示,它似乎也遇到了同样的问题。
我尝试了其他几个问题,但似乎没有一个问题得到了我想要的东西。
我有什么遗漏或者是一种简单的方法来实现我正在寻找的东西吗?
谢谢!
答案 0 :(得分: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