with tmp as
(
select '001' c1, '天津公司' c2, null c3 from dual union all
select '002' c1, '北京公司' c2, null c3 from dual union all
select '00101' c1, '天津滨海区公司' c2, '001' c3 from dual union all
select '00201' c1, '北京故宫公司' c2, '002' c3 from dual
)
select t1.c1 "客户编码",t1.c2 "客户名称 ",t2.c2 "上级客户名称"
from tmp t1
left join tmp t2 on t1.c3= t2.c1
#2
我上面的sql可以实现
#3
谢谢,这个前面可以省略直接用最后的查询语句吗?
#4
放心,是完全可以的~
#5
用递归调用就可以啦,有些是要查询很多个上级的
#6
select t1.c1 "客户编码",t1.c2 "客户名称 ",t2.c2 "上级客户名称"
from tmp t1
left join tmp t2 on t1.c3= t2.c1
其中的表名和字段名改成你实际的表名和字段即可。
#7
用start with ...connect by 应该可以实现吧??这个用法不怎么熟也难理解 好好研究下
#1
with tmp as
(
select '001' c1, '天津公司' c2, null c3 from dual union all
select '002' c1, '北京公司' c2, null c3 from dual union all
select '00101' c1, '天津滨海区公司' c2, '001' c3 from dual union all
select '00201' c1, '北京故宫公司' c2, '002' c3 from dual
)
select t1.c1 "客户编码",t1.c2 "客户名称 ",t2.c2 "上级客户名称"
from tmp t1
left join tmp t2 on t1.c3= t2.c1
#2
我上面的sql可以实现
#3
我上面的sql可以实现
谢谢,这个前面可以省略直接用最后的查询语句吗?
#4
放心,是完全可以的~
#5
用递归调用就可以啦,有些是要查询很多个上级的
#6
我上面的sql可以实现
谢谢,这个前面可以省略直接用最后的查询语句吗?
select t1.c1 "客户编码",t1.c2 "客户名称 ",t2.c2 "上级客户名称"
from tmp t1
left join tmp t2 on t1.c3= t2.c1
其中的表名和字段名改成你实际的表名和字段即可。
#7
用start with ...connect by 应该可以实现吧??这个用法不怎么熟也难理解 好好研究下