我的地址数据存储在 SQL Server 2000 数据库中,我需要提取给定客户代码的所有地址。问题是,有很多拼写错误的地址,有些缺少部分等等。所以我需要以某种方式清理它。我需要剔除错误的拼写、缺失的部分等,并得出“平均”记录。例如,如果 New York 在 5 条记录中有 4 条拼写正确,则该值应该是返回的值。
我无法修改数据、验证输入数据或类似的事情。我只能修改数据的副本,或通过查询对其进行操作。
我在这里得到了部分答案SQL Server 中存储的地址有许多小变化(错误),但我需要允许每个代码有多个有效地址。
样本数据
Code Name Address1 Address2 City State Zip TimesUsed
10003 AMERICAN NUTRITON INC 2183 BALL STREET OLDEN Utah 87401 177
10003 AMEICAN NUTRITION INC 2183 BALL STREET PO BOX 1504 OLDEN Utah 87402 76
10003 AMERICAN NUTRITION INC 2183 BALL STREET OLDEN Utah 87402 24
10003 AMERICAN NUTRITION INC 2183 BALL STREET PO BOX 1504 OLDEN Utah 87402 17
10003 Samantha Brooks 506 S. Main Street Ellensburg Washington 98296 1
10003 BEMIS COMPANY 1401 W. FOURTH PLAIN BLVD. VANCOUVER Washington 98660 1
10003 CEI 597 VANDYRE BOULEVARD WRIGHTSTOWN Wisconsin 54180 1
10003 Pacific Pet 28th Avenue OLDEN Utah 84401 1
10003 PETSMART, INC. 16091 NORTH 25TH STREET PHOENA Arizona 85027 1
10003 THE PET FIRM 16418 NORTH 37TH STREET PHOENA Arizona 85503 1
所需输出
Code Name Address1 Address2 City State Zip
10003 AMERICAN NUTRITION INC 2183 BALL AVENUE Olden Utah 84401
10003 Samantha Brooks 506 S. Main Street Ellensburg Washington 98296
10003 BEMIS COMPANY 1401 W. FOURTH PLAIN BLVD. VANCOUVER Washington 98660
10003 CEI 975 VANDYKE ROAD WRIGHTSTOWN Wisconsin 54180
10003 Pacific Pet 29th Street OGDEN Utah 84401
10003 PETSMART, INC. 16091 NORTH 25TH AVENUE PHOENA Arizona 85027
10003 THE PET FIRM 16418 NORTH 37TH STREET PHOENA Arizona 85503
最好的解决方案是使用 CASS 认证的地址标准化程序或服务来格式化和验证地址。除了拥有这方面工具的 USPS 之外,还有许多第三方程序或服务提供此功能。地址解析比您想象的要复杂得多,因此尝试发起一些查询来完成它将会充满危险。
谷歌的地理编码是另一个值得一看的地方。。显然,谷歌要求您显示结果才能使用他们的地理编码服务。这就需要使用专用的地址解析器,例如 USPS 或第三方程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)