select 上级企业代码,本企业代码,级次 from V_封面信息IUFO order by 级次0 0101 1
0101 0201 2
0101 0101 2
0201 0212 3
0201 0202 3
0201 0210 3
0201 0215 3
0201 0201 3
0201 0207 3
0201 0208 3
0201 0204 3
0201 0213 3
0201 0204 3
0201 0203 3
0201 0206 3
0201 0211 3
0201 0214 3
0101 0101 3
0201 0216 3想转换层
一级 二级 三级
0101 0101 0101
0101 0201 0202
0101 0201 0203
……后边可能还会有四级,五级的怎么利用oracle 的函数 写出这样的查询呢??最好能一个查询解决问题,谢谢大侠们啦
0101 0201 2
0101 0101 2
0201 0212 3
0201 0202 3
0201 0210 3
0201 0215 3
0201 0201 3
0201 0207 3
0201 0208 3
0201 0204 3
0201 0213 3
0201 0204 3
0201 0203 3
0201 0206 3
0201 0211 3
0201 0214 3
0101 0101 3
0201 0216 3想转换层
一级 二级 三级
0101 0101 0101
0101 0201 0202
0101 0201 0203
……后边可能还会有四级,五级的怎么利用oracle 的函数 写出这样的查询呢??最好能一个查询解决问题,谢谢大侠们啦
--如:刚才的一个帖子数据
WITH tab AS(
SELECT '001' ID,'1.开始' content, 1 seq FROM dual
UNION all
SELECT '001', '2.发展', 2 FROM dual
UNION all
SELECT '001', '3.高潮', 3 FROM dual
UNION all
SELECT '001', '4.结局', 4 FROM dual
UNION ALL
SELECT '002', '1.开始', 1 FROM dual
UNION all
SELECT '002', '2.发展', 2 FROM dual
UNION all
SELECT '002', '3.高潮', 3 FROM dual
UNION all
SELECT '002', '4.结局', 4 FROM dual
)
SELECT id,Max(SubStr(sys_connect_by_path(content,','),2))内容 FROM tab
START WITH seq=1
CONNECT BY PRIOR seq=seq-1
GROUP BY idID 内容
-----------------------------------------------------------
001 1.开始,2.发展,3,高潮,4.结局
002 1.开始,2.发展,3,高潮,4.结局
FROM table1 a,table2 b,table3 c
WHERE a.jici=1 AND b.jici=2 AND c.jici=3
AND a.id=b.fatherid AND b.id=c.fatherid
SELECT a.本企业代码 一级单位,b.本企业代码 二级单位,c.本企业代码 三级单位,d.本企业代码 四级单位
FROM V_封面信息IUFO a
left join V_封面信息IUFO b on a.本企业代码=b.上级企业代码 and b.级次=2
left join V_封面信息IUFO c on b.本企业代码=c.上级企业代码 AND c.级次=3
left join V_封面信息IUFO d on c.本企业代码=d.上级企业代码 and d.级次 = 4
WHERE a.级次=1
order by 一级单位,二级单位,三级单位