类似于这样的,建设方、施工方,然后施工方转包给了另外一个施工方,这个时候总包也成了建设方的意思,可能存在多个转包,现在的需求是能否罗列出总包a 分包 b 合同名称 合同金额 f g h以此类推然后比如说B也转包给了C和D 如何罗列出 a 的总包是谁 这些总包又分包给了谁,谁最后干了这个工程,每个环节都是多少金额?
解决方案 »
- 使用32位客户端 error 1067
- 用oracle SQL 查询结果集 用集循环 并用集的列做if条件 满足条件后集的列批量插
- oracle中查询历史操作中耗时最长的sql语句
- Linux下的oracle问题
- A存储过程调用B存储过程,要得到B存储过程的某个指定输出参数,怎么做?
- 请问oracle里面字符全角半角是默认区分的还是不区分的?
- ORA-00205: error in identifying controlfile, check alert log for more info在线等待
- 返回一条记录居然好几页,什么原因?是字段为blob还是触发器的原因?
- 用jdbc连数据库取出汉字,怎显示不出来
- Oracle rman备份还原命令写成批处理
- 数据词典统计sql(oracle)
- oracle 导出中文乱码
上面的图除了排序没看出区别,原表什么样,需要结果什么样?原表就是excel的表样,我想导入oracle数据库中。需要的表格都行啊,只要能展示出来就行 如果有那种 树形图就好
select 建设方,施工方,lpad(施工方,length(施工方)+level-1,'-') from sc_module
start with 建设方=A
connect by prior 施工方=建设方
order siblings by 施工方
大神,我按照您的写法操作成功!!!但是有个新问题,我现在需要整理出两列数据,一个是施工方id 一个是建设方id,来满足后续做框架图的数据结构,遇到一个难题。如何给他们分层级,我举例说明:比如a企业是建设方 那我就写 施工方id为1 建设方id 就为空 保证a企业是建设方 比如a 把工程分包给b企业 那b企业的施工方就是11 建设方id为1 来实现这种层级的效果,现在问题是 如果 b企业把同一个工程同时分包给3个企业 e f g 如何通过函数或者sql实现给e f g 分别赋值呢?
最后结果是
施工方id 建设方id 建设方名称
1 a企业
11 1 b企业
111 11 e企业
112 11 f企业
113 11 g企业
FROM (select JSF,SGF,row_number() over(partition by jsf order by sgf) rnum
from table_test)
START WITH JSF='A'
connect by prior SGF=JSF
order siblings by SGF
这样?如果不要/ replace掉