我有一个表结构是这样的
aa bb
----------
A 010+011+020+021
B 020+021+030+031
C 010+011+030+031
AA 010+011
BB 020+021
CC 030+031有没有什么办法通过一个SQL变为这样?
aa bb
----------
A AA+BB
B BB+CC
C AA+CC
AA 010+011
BB 020+021
CC 030+031
谢谢了.
aa bb
----------
A 010+011+020+021
B 020+021+030+031
C 010+011+030+031
AA 010+011
BB 020+021
CC 030+031有没有什么办法通过一个SQL变为这样?
aa bb
----------
A AA+BB
B BB+CC
C AA+CC
AA 010+011
BB 020+021
CC 030+031
谢谢了.
解决方案 »
- Oracle恢复问题--急
- [oralce 9i]: 用EXP备份数据时,出现“application failed to initialize”的问题
- oracle 如何将游标中的结果集存入一个临时表
- PL/SQL Developer使用问题请教
- oracle用户被删除,在日志中能不能查出来?怎么查
- oracle 9i(9.2)安装报错
- 请问高手-在oracle里面如何知道一个表的大小??
- 怎么把建好的数据表从家里的电脑用移动硬盘拷到的电脑上?公司是Oracle 9i企业版,家里的是从Oracle网站得下载的个人版。
- 关于Oracle的查询语句的问题,请高手指点
- 8.1.6报错“监听器不支持服务”,请问是何原因?
- oracle的64bit版本需要怎样的操作系统,vs2005能不能开发64bit程序?
- 很简单的问题,
aa bb cc
----------------------------
A 010+011+020+021 1
B 020+021+030+031 1
C 010+011+030+031 1
AA 010+011 2
BB 020+021 2
CC 030+031 2
aa bb cc
--------------------------
A AA+BB 1
B BB+CC 1
C AA+CC 1
AA 010+011 2
BB 020+021 2
CC 030+031 2
select c.aa,nvl(d.aa,c.bb),c.cc from t c,(select a.aa || '+' || b.aa aa,a.bb || '+' || b.bb bb,cc from t a,t b where a.cc=2 and b.cc=2) d where c.bb=d.bb(+)
aa bb cc
----------------------------
A 010+011+020+021 1
B 020+021+030+031 1
C 010+011+030+031 1
AA 010+011 2
BB 020+021 2
CC 030+031 2
DD 040+041 2
AA1 010 3
AA2 011 3
BB1 020 3
BB2 021 3
CC1 030 3
CC2 031 3
DD1 040 3
DD2 041 3
from (select c.aa,rownum rn
from (select aa
from t where instr(a.bb,bb)<>0 and cc=a.cc+1) c
) b
connect by rn=rn-1 start with rn=1
你试试吧
parent child
---------------
A AA
A BB
B BB
B CC
AA AA1
AA AA2
...
AA1 010
对于child没有对应parent的就认为是最底层结点。
当然,不知道你要做什么,也不知这样是否适合你的需要。