同一张表里面的省市区,如何转成列表显示,用sql语句写。如下图:

求大神帮助,在线等~第一张表还有一列deep。省的后面是1.,市的后面是2,区的后面是3在下学生一枚。求各位db大神帮助啊,感激不尽。。。... 求大神帮助,在线等~
第一张表还有一列deep。省的后面是1.,市的后面是2,区的后面是3

在下学生一枚。求各位db大神帮助啊,感激不尽。。。
展开
 我来答
badkano
推荐于2017-12-16 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部

创建表及数据

create table t
(id int,
code int,
name varchar(20),
parentcode int)
insert into t values (1,10000,'浙江',0)
insert into t values (2,20000,'安徽',0)
insert into t values (3,11000,'杭州',10000)
insert into t values (4,12000,'宁波',10000)
insert into t values (5,21000,'合肥',20000)
insert into t values (6,22000,'宣城',20000)
insert into t values (7,11100,'萧山',11000)
insert into t values (8,11300,'滨江',11000)
insert into t values (9,11300,'富阳',11000)

 

执行

select t3.name1,t3.name2,t4.name from 
(select t1.code code1,t1.name name1,t1.parentcode parentcode1,t2.code code2,t2.name name2,t2.parentcode parentcode2 
from t t1 left join t t2 on t1.code=t2.parentcode where t1.parentcode=0) t3 left join t t4 on t3.code2=t4.parentcode

 

结果

 

 

以上sqlserver写法,其他数据库基本也差不多

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式