目前有这一需求表 t_temp_01f_categoryid f_categoryname f_parentid f_level
0 root -1 0
1 结点 0 1
2 子结点 1 2表 t_temp_02
f_id f_name f_categoryid(与表 t_temp_01关联)
10 测试 2
11 名字 1如何把这二张表显示成f_id f_name f_categoryname1 f_categoryname2 f_categoryname3
10 测试 子结点 结点 root
11 名字 结点 root
SELECT * FROM (
SELECT f_categoryname,f_level
FROM t_temp_01
START WITH f_level<9 CONNECT BY PRIOR F_CATEGORYID = F_PARENTID ) t
PIVOT(MAX(f_categoryname) FOR f_level IN (0 p1,1 p2,2 p3));
这样好像只能把 t_temp_01 这张表进行行转列,但与 t_temp_02 进行关联后就无法实现了。
0 root -1 0
1 结点 0 1
2 子结点 1 2表 t_temp_02
f_id f_name f_categoryid(与表 t_temp_01关联)
10 测试 2
11 名字 1如何把这二张表显示成f_id f_name f_categoryname1 f_categoryname2 f_categoryname3
10 测试 子结点 结点 root
11 名字 结点 root
SELECT * FROM (
SELECT f_categoryname,f_level
FROM t_temp_01
START WITH f_level<9 CONNECT BY PRIOR F_CATEGORYID = F_PARENTID ) t
PIVOT(MAX(f_categoryname) FOR f_level IN (0 p1,1 p2,2 p3));
这样好像只能把 t_temp_01 这张表进行行转列,但与 t_temp_02 进行关联后就无法实现了。
解决方案 »
- 从sybase 数据库表中抓取数据放到Oracle 数据库表中 问题……
- 如何实现两个不同数据库之间数据的导入?
- oracle数据库变慢,是否可以通过重建索引变快?
- CLOB字段,能不能直接insert?为什么我在insert时遇到几千的字符就报超长了?
- 现在因从事ORACLE工作,建一个ORACLE群,希望大家一起探讨ORACLE技术
- oracle如何查询表被锁定状态
- 求sql
- 这句是什么 意思 ?? 送分
- 请教一个SQL语句
- 求教一段sql
- [NS-35206] 目录已在使用 与 [NS-20802]Oracle Net Configuration Assistant失败
- 急!请教大家,为什么创建的物化视图经常失效?
(select t2.f_id, t2.f_name, t1.lev, t1.f_categoryname
from (select CONNECT_BY_ROOT(t1.f_categoryid) root,
(t1.f_level - 3) * -1 lev,
t1.f_categoryname
from t_temp_01 t1
connect by t1.f_categoryid = prior t1.f_parentid) t1,
t_temp_02 t2
where t1.root = t2.f_categoryid)
select *
from t pivot(max(f_categoryname) for lev in('1' f_categoryname1,
'2' f_categoryname2,
'3' f_categoryname3));