17,377
社区成员
发帖
与我相关
我的任务
分享
表a,关系表
cid oid
001 a
002 b
表b,人员表
cid cname
001 张三
002 李四
表c,单位表
oid oname parentid(上级) type
a 地区1 aa 1
b 地区2 bb 1
aa 地区3 aaa 1
aaa 地区4 aaaa 2
bb 地区5 bbb 2
表d
cid cname oid oname
001 张三 aaa 地区4
002 李四 bb 地区5
insert into d
(cid, cname, oid, oname)
(select f.cid, b.cname, f.oid, c.oname
from b,
c,
(select b.cid,
(select to_char(substr(min(level || oid), 2))
from c
start with oid = a.oid
connect by oid = prior parentid) oid
from a) f
where b.cid = f.cid
and c.oid = f.oid);