免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1803 | 回复: 6

想以ROOT方式省市级联查询,请问如何添加这种ROOT字段 [复制链接]

论坛徽章:
0
发表于 2013-05-17 13:56 |显示全部楼层
本帖最后由 linusex007 于 2013-05-17 14:03 编辑

表字段:
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `area_code` varchar(12) NOT NULL,
  `area_name` varchar(100) NOT NULL,
  `area_type` tinyint(4) DEFAULT NULL,
  `zip_code` varchar(12) DEFAULT NULL,
  `phone_code` varchar(4) DEFAULT NULL,
  `status` tinyint(3) NOT NULL DEFAULT '0' COMMENT '状态 ,0 默认有效 -1 失效',
  `root` varchar(12) DEFAULT NULL,
  `gmt_create` datetime default now() comment '创建时间',
  `gmt_modified` datetime not null default now() comment '修改时间',
  `is_deleted` int(4) not null default 0 comment '是否已删除',
INSERT INTO `tt_areacode` VALUES ('1', '110000', '北京市', '1', null, null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:12');
INSERT INTO `tt_areacode` VALUES ('2', '110100', '市辖区', '2', null, null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:12');
INSERT INTO `tt_areacode` VALUES ('3', '110101', '东城区', '3', '100010', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('4', '110102', '西城区', '3', '100032', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('5', '110105', '朝阳区', '3', '100020', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('6', '110106', '丰台区', '3', '100071', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('7', '110107', '石景山区', '3', '100043', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('8', '110108', '海淀区', '3', '100089', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('9', '110109', '门头沟区', '3', '102300', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('10', '110111', '房山区', '3', '102488', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('11', '110112', '通州区', '3', '101100', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('12', '110113', '顺义区', '3', '101300', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('13', '110114', '昌平区', '3', '102200', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('14', '110115', '大兴区', '3', '102600', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('15', '110116', '怀柔区', '3', '101400', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('16', '110117', '平谷区', '3', '101200', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('17', '110200', '县', '2', null, null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:12');
INSERT INTO `tt_areacode` VALUES ('18', '110228', '密云县', '3', '101500', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('19', '110229', '延庆县', '3', '102100', null, '0', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
烦请问下如何用sql语句将ROOT字段填上
INSERT INTO `tt_areacode` VALUES ('1', '110000', '北京市', '1', null, null, '0','', '2012-06-09 23:28:11', '2012-06-09 23:28:12');
INSERT INTO `tt_areacode` VALUES ('2', '110100', '市辖区', '2', null, null, '0', '','2012-06-09 23:28:11', '2012-06-09 23:28:12');
INSERT INTO `tt_areacode` VALUES ('3', '110101', '东城区', '3', '100010', null, '0','北京市', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('4', '110102', '西城区', '3', '100032', null, '0', '北京市','2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('5', '110105', '朝阳区', '3', '100020', null, '0','北京市, '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('6', '110106', '丰台区', '3', '100071', null, '0', '北京市,'2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('7', '110107', '石景山区', '3', '100043', null, '0','北京市, '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('8', '110108', '海淀区', '3', '100089', null, '0', '北京市','2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('9', '110109', '门头沟区', '3', '102300', null, '0','北京市, '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('10', '110111', '房山区', '3', '102488', null, '0','北京市, '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('11', '110112', '通州区', '3', '101100', null, '0', '北京市','2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('12', '110113', '顺义区', '3', '101300', null, '0', '北京市','2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('13', '110114', '昌平区', '3', '102200', null, '0', '北京市','2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('14', '110115', '大兴区', '3', '102600', null, '0', '北京市','2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('15', '110116', '怀柔区', '3', '101400', null, '0', '北京市','2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('16', '110117', '平谷区', '3', '101200', null, '0', '北京市','2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('17', '110200', '县', '2', null, null, '0', '北京市','2012-06-09 23:28:11', '2012-06-09 23:28:12');
INSERT INTO `tt_areacode` VALUES ('18', '110228', '密云县', '3', '101500', null, '0','北京市', '2012-06-09 23:28:11', '2012-06-09 23:28:24');
INSERT INTO `tt_areacode` VALUES ('19', '110229', '延庆县', '3', '102100', null, '0','北京市', '2012-06-09 23:28:11', '2012-06-09 23:28:24');

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
发表于 2013-05-17 15:00 |显示全部楼层
总感觉还有啥问题想问lz的。不过这个肯定不是lz要的,但又不知道还想问lz什么信息:
  1. update 表 set root='北京市';
复制代码

论坛徽章:
0
发表于 2013-05-17 15:17 |显示全部楼层
我也没看明白,可能他是想要这种

UPDATE `tt_areacode` SET `root` = `area_name` WHERE `root` = ''

论坛徽章:
0
发表于 2013-05-17 15:47 |显示全部楼层
回复 3# hwrd_et


查询结果

查询结果
111.jpg

   

论坛徽章:
0
发表于 2013-05-17 16:27 |显示全部楼层
本帖最后由 linusex007 于 2013-05-17 16:28 编辑

回复 2# seesea2517
怎么才能够在数据库sql里写 出这样的效果:
130000
130101
130102
.。。。。。。
匹配前两位13出来,后面130101、130102.。。。的root都改成130000的area_name,这样就把所有市级的ROOT显示为对应的上级省份了。
如上打个比方,数据规律自己可以看出来   

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
发表于 2013-05-17 18:04 |显示全部楼层
那就 select concat(left(area_code, 2), "000") 不就可以实现这个需求了,剩下的就是自己做一个连接、更新了。

论坛徽章:
0
发表于 2013-05-21 10:38 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP