主题:根据地址加邮编
jibingyang
[专家分:0] 发布于 2012-07-01 20:18:00
我有两个表:一个全国邮编表(yb.dbf)以下为部分
省份 市县区名 邮政编码
河北 康保县 076650
河北 尚义县 076750
北京 怀柔区 101400
北京 密云县 101500
北京 延庆县 102100
北京 昌平区 102200
一个只有地址栏邮政编码为空白的表(dz.dbf)以下为部分,
地址 邮政编码
河北省康保县新华路12号
河北尚义县民政局
北京市怀柔区怀昌路1号
密云县实验小学
延庆县公安局
北京昌平区商业街市政家属楼
北京朝阳区金龙大厦
如何根据第一个表在第二个表的邮政编码里加上邮编?
回复列表 (共3个回复)
沙发
sdta [专家分:570] 发布于 2012-07-02 09:41:00
*---VFP6.0代码
CREATE CURSOR TABNAMEA (省份 C(10),市县区名 C(10),邮政编码 C(6))
INSERT INTO TABNAMEA VALUES ("河北","康保县","076650")
INSERT INTO TABNAMEA VALUES ("河北","尚义县","076750")
INSERT INTO TABNAMEA VALUES ("北京","怀柔区","101400")
INSERT INTO TABNAMEA VALUES ("北京","密云县","101500")
INSERT INTO TABNAMEA VALUES ("北京","延庆县","102100")
INSERT INTO TABNAMEA VALUES ("北京","昌平区","102200")
CREATE CURSOR TABNAMEB (地址 C(40),邮政编码 C(6))
INSERT INTO TABNAMEB VALUES ("河北省康保县新华路12号","")
INSERT INTO TABNAMEB VALUES ("河北尚义县民政局","")
INSERT INTO TABNAMEB VALUES ("北京市怀柔区怀昌路1号","")
INSERT INTO TABNAMEB VALUES ("密云县实验小学","") &&地址不规范(无省份),因此没有邮政编码
INSERT INTO TABNAMEB VALUES ("延庆县公安局","") &&地址不规范(无省份),因此没有邮政编码
INSERT INTO TABNAMEB VALUES ("北京昌平区商业街市政家属楼","")
INSERT INTO TABNAMEB VALUES ("北京朝阳区金龙大厦","") &&没有朝阳区,因此没有邮政编码
SELECT TABNAMEA
SCAN
UPDATE TABNAMEB SET TABNAMEB.邮政编码=TABNAMEA.邮政编码 WHERE OCCURS(ALLTRIM(TABNAMEA.省份),TABNAMEB.地址)>0 AND OCCURS(ALLTRIM(TABNAMEA.市县区名),TABNAMEB.地址)>0
ENDSCAN
SELECT TABNAMEB
BROWSE
板凳
qjbzjp [专家分:8830] 发布于 2012-07-07 22:34:00
DZ 表中有的记录缺少“省名”,如果所有“县名”中没有重复的,可以用以下的代码:
SET PATH TO SYS(5)+SYS(2003)
USE dz
USE yb in 0
FOR i = 1 to RECCOUNT("yb")
GO i in yb
REPLACE all 邮政编码 with yb.邮政编码 for ALLTRIM(yb.市县区名)$dz.地址
NEXT
3 楼
sdta [专家分:570] 发布于 2014-06-16 08:52:00
第一步先校正地址,第二步根据地址加邮编
我来回复