等大神帮帮忙
表结构:
id level segm_name parent_id
01 1 中国 null
02 2 广东 01
03 3 深圳 02
04 4 福田区 03
05 4 罗湖区 03
06 5 人民法院 04
07 5 会展中心 04
08 6 *楼*号办公室 06
09 6 *厅*展 07
.
.
.
其中level为字段等级,parent_id 关联上一级id。
现有两个结构一样的表,由于Id的生成方式不一样,需要找出字段等级相同,关联的上一级的字段等级也相同的两个表的ID对照表!
那个大神能提供一个思路想法或者脚本,跪求给力!!
------解决方案-------------------- 你的意思是?
你的ID是自动生成的。。所以和你现在的ID没有关联上
是不是这个意思?
如果是这个意思那你可以找出你现在的ID是从哪一个开始的。然后再在你以前的基础上加几应该就可以关联正确了。
------解决方案-------------------- 引用: 引用:如果只要ID对照表,Join一下不就可以了吗、
SQL code?12345select a.id, b.id from a, b where a.level = b.level and a.segm_name = b.segm_name and a.parent_id = b.parent_id
不好意思,可能是我描…… 说实话,我还是没了解
------解决方案-------------------- --用下面的语句查出层次关系为path字段,然后通过比较path字段来设置id.
select t.*, sys_connect_by_path(segm_name, '/') as path from t
start with parent_id is null connect by prior id = parent_id;