เครื่องมือสำหรับคำนวณระยะทางระหว่างระยะทาง UK Post สองแห่ง และค้นหารายการรหัสไปรษณีย์ทั้งหมดภายในระยะทางที่กำหนด
คลิกด้านล่างเพื่อดูวิดีโอแนะนำ:
หากต้องการค้นหารายการรหัสไปรษณีย์ภายใน X กิโลเมตร ให้ใช้ Table Function postCodesWithinXkm
ตัวอย่างเช่น หากต้องการค้นหารหัสไปรษณีย์ทั้งหมดที่มี SW1A 0AA ระยะทาง 5 กิโลเมตร คุณสามารถใช้รหัสด้านล่างนี้
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 |
บริษัททูลทูลโฟร์ยู จำกัด | เน็ด@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
และเลือกอินสแตนซ์เป้าหมายและฐานข้อมูลที่จะปรับใช้มีข้อมูลการสำรวจอาวุธยุทโธปกรณ์ © Crown ลิขสิทธิ์และสิทธิ์ฐานข้อมูลปี 2021
มีข้อมูล Royal Mail ©ลิขสิทธิ์ Royal Mail และฐานข้อมูลสิทธิ์ปี 2021
ที่มา: สำนักงานสถิติแห่งชาติได้รับใบอนุญาตภายใต้ Open Government Licence v.3.0