【发布时间】:2014-01-21 20:35:00
【问题描述】:
我有一个邮政编码表和一个存储过程来计算 X 半径内的所有邮政编码,给定一个邮政编码和一个半径。
例如,要查找距离 10001 200 英里范围内的所有邮政编码,我会输入CALL zip(10001,200),它会显示每个邮政编码。
在新列“hradius”中,我希望在该行的邮政编码 200 英里范围内包含所有邮政编码。
我是 SQL 新手,感谢您的帮助。
【问题讨论】:
-
您不想在一列中存储多个邮政编码,这是不必要的非规范化。
-
什么风格的 SQL(Oracle、SQL Server、DB2、MySQL)?
-
您打算如何将多个 ZipCode 存储在一个列中?
-
@user3182252 这是一个非常糟糕的设计,因为您无法利用 SQL 服务器的强大功能 - 您必须解析字符串......等等。请重新考虑你的努力。如果你想做这些预先计算的东西,你应该在数据库中创建这些行而不是列。 Zipcode、contiguousZip 等。无论哪种方式,您都在处理已解决的问题。
-
是一个学习SQL的好项目。首先要学习的是不要在一个字段中存储多个值。创建一个相关的表来加入。
标签: sql sql-server stored-procedures