PostCodeDistanceCalculator
1.0.0
用于计算两个英国邮政距离之间的距离并查找特定公里数内所有邮政编码列表的工具。
单击下面观看演示视频:
要查找 X 公里内的邮政编码列表,请使用表函数postCodesWithinXkm
。例如,要查找所有包含 5 公里 SW1A 0AA 的邮政编码,您可以使用以下代码。
SELECT * FROM postCodesWithinXkm('SW1A 0AA',5)
要确定两个邮政编码之间的距离,请使用标量函数distanceBetweenPostCodes
。例如:要查找 SW1A 0AA 和 SE10 0DX 之间的距离,您可以使用以下代码。
SELECT dbo.distanceBetweenPostCodes('SW1A 0AA','SE10 0DX')
要查找所有邮政编码及其到特定邮政编码的距离的列表,请使用表函数distanceToAllPostCodes
SELECT * FROM dbo.distanceToAllPostCodes('SW1A 0AA') a
假设我们有一个 CRM 数据库,其中包含一个包含潜在客户地址列表的Prospects
表和一个包含我们所有分支机构地址的Branch
表。
postCodesWithinXkm
如果我们的某个特定分行正在开展促销活动,并且我们想要通知该分行 5 公里范围内的所有潜在客户,我们可以使用以下代码来获取我们应该联系的所有潜在客户的列表。
SELECT a.ProspectName, a.ProspectEmail, a.PostCode
FROM CRM..Prospects a
INNER JOIN postCodesWithinXkm('PO19 1EL',5) b on a.PostCode = b.PostCode
输出会像这样:
潜在客户名称 | 潜在客户电子邮件 | 邮政编码 |
---|---|---|
艾克米有限公司 | [email protected] | PO18 0AE |
工具4u有限公司 | 内德@tools4u.com | PO20 2GU |
哈尔的肉 | [email protected] | PO19 7EY |
distanceBetweenPostCodes
我们可以使用下面的代码来确定每个分支机构 5 公里范围内的潜在客户数量。
SELECT a.PostCode As BranchPostcode, a.BranchName, count(b.Id) As CustomerCount
FROM CRM..Branches a
INNER JOIN CRM..Prospects b
ON PostCodeDistanceCalculator.dbo.distanceBetweenPostCodes(a.PostCode,b.PostCode)<5
GROUP BY a.PostCode
输出会像这样:
分行邮政编码 | 分支 | 顾客 |
---|---|---|
BN1 2RE | 布莱顿 | 15 |
PO19 1EL | 奇斯特 | 37 |
W4 5TA | 奇西克 | 89 |
distanceToAllPostCodes
假设我们想要确定每个潜在客户最近的分支机构。我们可以利用distanceToAllPostCodes
来确定每个分店到每个潜在客户的距离并按柜子订购。
SELECT a.ProspectName, c.BranchName, b.distance,
ROW_NUMBER() OVER (PARTITION BY a.ProspectName ORDER BY b.distance ) As DistanceRank
FROM CRM..Prospects a
CROSS APPLY PostCodeDistanceCalculator.dbo.distanceToAllPostCodes(a.PostCode) b
INNER JOIN CRM..Branches c on b.Postcode = c.Postcode
输出会像这样:
潜在客户名称 | 分行名称 | 距离 |
---|---|---|
艾克米有限公司 | 布莱顿 | 7.477788367078679 |
艾克米有限公司 | 奇斯特 | 82.13621491096778 |
艾克米有限公司 | 奇西克 | 86.65279491895977 |
PopPostCodes.sql
并编辑文件位置'C:UserstimgasourcereposPostCodeDistanceCalculatorPostCodeDistanceCalculatorFilesukpostcodes.csv'
以指向正确的位置。PostCodeDistanceCalculator.publish.xml
并选择要部署到的目标实例和数据库。包含英国地形测量局数据 © 皇家版权和数据库权利 2021
包含皇家邮政数据 © 皇家邮政版权和数据库权利 2021
资料来源:国家统计局根据开放政府许可证 v.3.0 获得许可