日期:2014-05-16  浏览次数:20798 次

等大神帮帮忙
表结构:

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;