我的表结构和数据为下面的
节点字段 节点名称 上级节点 节点的级数
org_no org_name p_org_no org_type
1 3540702 惠安电力公司 35407 05 425
2 354070205 惠安崇武供电所营业厅 3540702 06 430
3 354070201 惠安螺阳供电所营业厅 3540702 06 426
4 354070202 惠安辋川供电所营业厅 3540702 06 427
5 354070204 惠安东岭供电所营业厅 3540702 06 429
6 354070203 惠安涂寨供电所营业厅 3540702 06 428
7 354070206 惠安净峰供电所营业厅 3540702 06 431
8 354070207 惠安东园供电所营业厅 3540702 06 432
9 354070208 惠安洛阳供电所营业厅 3540702 06 433
10 354070209 惠安百崎供电所营业厅 3540702 06 434只列出了 5,6 级的节点,现在的要求是 输入5,6级的任意一个节点字段,可以得到5,6级同上级单位的节点字段,只显示5 ,6级的.
比如我输入的节点字段为 354070205 ,就列出上面的数据,输入3540702 还是列出上面的数据.
要求性能好
节点字段 节点名称 上级节点 节点的级数
org_no org_name p_org_no org_type
1 3540702 惠安电力公司 35407 05 425
2 354070205 惠安崇武供电所营业厅 3540702 06 430
3 354070201 惠安螺阳供电所营业厅 3540702 06 426
4 354070202 惠安辋川供电所营业厅 3540702 06 427
5 354070204 惠安东岭供电所营业厅 3540702 06 429
6 354070203 惠安涂寨供电所营业厅 3540702 06 428
7 354070206 惠安净峰供电所营业厅 3540702 06 431
8 354070207 惠安东园供电所营业厅 3540702 06 432
9 354070208 惠安洛阳供电所营业厅 3540702 06 433
10 354070209 惠安百崎供电所营业厅 3540702 06 434只列出了 5,6 级的节点,现在的要求是 输入5,6级的任意一个节点字段,可以得到5,6级同上级单位的节点字段,只显示5 ,6级的.
比如我输入的节点字段为 354070205 ,就列出上面的数据,输入3540702 还是列出上面的数据.
要求性能好
解决方案 »
- 查询sql跪求
- oracle 触发器的更新两张数据表
- oracle coherence中间件 data grid有人了解吗?
- 关于序列的一个问题
- 数据库设计动态的增加表合理吗
- sql插入问题
- oracle9i如何建个方案
- 初学oracle,为什么在sqlplus不能执行??(新手,新手,新新手)
- 机器安装客户端后可不可以在另一个位置安装服务器端?
- Enterprise Manager控制台中导入数据时出现:“VTO-2018该向导无法启动,因为目标由手动配置。只有对于使用Intelligent Agent搜索到的目
- ORA-00932:inconsistent datatypes: expected NUMBER got LONG
- 请教:两个不同oracle数据库查询
(
ORG_NO VARCHAR2(16) not null,
ORG_NAME VARCHAR2(256),
P_ORG_NO VARCHAR2(16),
ORG_TYPE VARCHAR2(8),
SORT_NO NUMBER(5)
)
org_no org_name p_org_no org_type
1 3540702 惠安电力公司 35407 05 425
2 354070205 惠安崇武供电所营业厅 3540702 06 430
SQL>select 'insert into O_ORG values('''||ORG_NO||''','''||ORG_NAME||''','''||P_ORG_NO||''','''||ORG_TYPE||''','||SORT_NO||');' sql from O_ORG
insert into O_ORG values(354070201' ,'惠安螺阳供电所营业厅','3540702','06','426');
insert into O_ORG values('354070202','惠安辋川供电所营业厅','3540702','06','427');
后面的数据可以不要了.大致明白俺的意思吧.
(
SELECT T.P_ORG_NO FROM O_ORG T
WHERE T.ORG_NO = '354070201' ---->更改你的输入。
)SELECT * FROM O_ORG T
WHERE EXISTS (SELECT 1 FROM TEMP TT WHERE TT.P_ORG_NO = T.ORG_NO ) ---- 查父节点
OR EXISTS (SELECT 1 FROM TEMP TT WHERE TT.P_ORG_NO = T.P_ORG_NO ) ----- 查兄弟节点
'3540702' 可换成你的参数。 org_no 加索引 ,p_org_no 加索引
(
ORG_NO VARCHAR2(16) not null,
ORG_NAME VARCHAR2(256),
P_ORG_NO VARCHAR2(16),
ORG_TYPE VARCHAR2(8),
SORT_NO NUMBER(5)
)