表结构: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对照表!那个大神能提供一个思路想法或者脚本,跪求给力!!
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对照表!那个大神能提供一个思路想法或者脚本,跪求给力!!
解决方案 »
- 请教各位高手,关于多条件查询的问题
- 一句sql问题
- 有没有高手帮我看一下这个为什么不对呢?~~~~~
- 想用浏览器写Sqlplus命令,但是浏览器显示域名无法访问。。
- 把sqlserver 存储过程转换为oracle存储过程
- 遇到个数据库插值难题?请赐教!
- oracle里面如何写case语句?
- JOB的问题
- 急::如何导出整个ORACLE数据库的SQL语句
- 我购买了Oracle 9i的enterprise edition版,请问这是服务器版吗?另外Oracle 9i有哪几个版本?可以在winXP上安装吗?
- 求大神解决一个索引问题 现在有个复合索引 我想用他order by 究竟应该怎么调用
- 在线等待高手解答,latch: cache buffers chains事件怎么解决!
你的ID是自动生成的。。所以和你现在的ID没有关联上
是不是这个意思?
如果是这个意思那你可以找出你现在的ID是从哪一个开始的。然后再在你以前的基础上加几应该就可以关联正确了。
就是有两个结构一样的表,表中的segm_name和等级一样,但是Id不一样,现在就是要找出segm_name和等级一样并且上一级的segm_name和等级也一样的ID对照表。其中从六级到一级通过parent_id关联可以拼装成一个完整独立的地址。
from a, b
where a.level = b.level
and a.segm_name = b.segm_name
and a.parent_id = b.parent_id
其实是两个结构一样的表,他们各自的ID生成机制不一样,但地址等级和字段是一样的。现在的目的是通过两个表的字段和等级找出这两个表的ID对照,也就是 表1_id 表2_id。但其中他们的上一级关联的字段和等级也要一样。
不好意思,可能是我描述的不够清楚。因为ID不一样,所以parent_id也不一样,无法通过parent_id直接关联。我现在是想了解如何通过parent_id来获得上一级的字段和等级的比较,然后得这要对比的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;