ÎÊÌâÌá³ö£º
Ò»¸ö¸ß¼¶SQLÓï¾äÎÊÌâ
¼ÙÉèÓÐÒ»ÕÅ±í£¬ÓÐÕâÑùһЩÊý¾Ý
a b
1 2
0 2
2 3
3 4
4
5 6
6 7
12 7
7
aÊÇ×Ó½Úµã bÊǸ¸½Úµã ,Èç¹ûbΪnull ÔòΪһ¿ÃÊ÷µÄ¸ù½Úµã
¸ù¾ÝAÓëBµÄÕâ¸ö¹ØÏµ ÕÒ³öÒ»¿ÃÊ÷µÄ½á¹¹ÏÔʾ³öÀ´ £¬²¢ÏÔʾ³öÿ¸ö½ÚµãÔÚÊéÖеIJ㼶£¬½«Ê÷µÄ½á¹¹´òÓ¡³öÀ´
ÎÒÕâ±ß¼ÙÉèÊ÷×î¶àÓÐ5¸ö²ã¼¶£¬SQLÈçÏ£º
with tt as(
select 1 a,2 b from dual
union all SELECT 0,2 from dual
union all select 2,3 from dual
union all select 3,4 from dual
union all select 4,null from dual
union all select 5,6 from dual
union all select 6,7 from dual
union all select 12,7 from dual
union all select 7,null from dual)
SELECT
a
,tree_lvl
,root
,tree_lvl_path
,(CASE
WHEN tree_lvl >1 THEN SUBSTR(tree_lvl_path,1,instr(tree_lvl_path,',',1,1)-1 )
ELSE tree_lvl_path
END) COL01
,(CASE
WHEN tree_lvl <2 THEN NULL
WHEN tree_lvl =2 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,1)+1 )
WHEN tree_lvl >2 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,1)+1,instr(tree_lvl_path,',',1,2)- instr(tree_lvl_path,',',1,1)-1 )
END) COL02
,(CASE
WHEN tree_lvl <3 THEN NULL
WHEN tree_lvl =3 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,2)+1 )
WHEN tree_lvl >3 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,2)+1,instr(tree_lvl_path,',',1,2)- instr(tree_lvl_path,',',1,1)-1 )
END) COL03
,(CASE
WHEN tree_lvl <4 THEN NULL
WHEN tree_lvl =4 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,3)+1 )
WHEN tree_lvl >4 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,3)+1,instr(tree_lvl_path,',',1,3)- instr(tree_lvl_path,',',1,2)-1 )
END) COL04
,(CASE
WHEN tree_lvl <5 THEN NULL
WHEN tree_lvl =5 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,4)+1 )
WHEN tree_lvl >5 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,4)+1,instr(tree_lvl_path,',',1,5)- instr(tree_lv
ÔÚÏÖ´úµÄ¶àÓû§¶àÈÎÎñϵͳÖУ¬±ØÈ»»á³öÏÖ¶à¸öÓû§Í¬Ê±·ÃÎʹ²ÏíµÄij¸ö¶ÔÏó£¬Õâ¸ö¶ÔÏó¿ÉÄÜÊÇ±í£¬ÐУ¬»òÕßÄÚ´æ½á¹¹£¬ÎªÁ˽â¾ö¶à¸öÓû§²¢·¢ÐÔ·ÃÎÊ´øÀ´µÄÊý¾ÝµÄ°²È«ÐÔ£¬ÍêÕûÐÔ¼°Ò»ÖÂÐÔÎÊÌ⣬±ØÐëÒªÓÐÒ»ÖÖ»úÖÆ£¬À´Ê¹¶ÔÕâЩ¹²Ïí×ÊÔ´µÄ²¢·¢ÐÔ·ÃÎÊ´®Ðл¯£¬oracleÖеÄËø¾Í¿ÉÒÔÌṩÕâÑùµÄ¹¦ÄÜ£¬µ±ÊÂÎñÔÚ¶Ôij¸ö¶ÔÏó½ ......
½ñÌìµçÄÔÄûؼң¬Æô¶¯oracleÊý¾Ý¿âµÄ¼àÌý·þÎñʱ·¢ÏÖÎÞ·¨Æô¶¯¡£¸ø³öµÄ´íÎóÌáʾÊÇ˵£¬Õâ¸ö·þÎñÆô¶¯ÁËÓÖÍ£Ö¹ÁË£¬²»ÖªµÀÊÇΪʲô¡£ÒòΪÔÚѧУµÄʱºòÓÃÊÇûÓÐÎÊÌâµÄ¡£ÎÒÏëÓ¦¸ÃÊÇÒòΪipµÄÊÇÎÊÌâ¡£ÔÚÍøÉϲéÁËһϣºÄãÊÇ·ñÐÞ¸ÄÄãµÄ»úÆ÷Ãû»òIPµØÖ·£¬Èç¹ûÓÐÐ޸쬰ÑORACLE\ora81\network\admin\listener.oraÎļþÖеÄhostÐÞ¸ÄΪлúÆ÷à ......
ÔÀ´ÓõÄSQL server£¬Ö÷ÒªÓÐÁ½ÖÖ·ÖÒ³·½·¨£ºÓαêºÍÆ´×Ö·û´®£¬Óα귨̫Âý£¬Æ´´®·¨Ò²ÓÐһЩȱÏÝ¡£
ÏÖÔÚÕÒµ½ÁËÒ»¸öOracleµÄ·ÖÒ³·½·¨£¬Ò²¿ÉÒÔ˵ÊÇÆ´×Ö·û´®£¬µ«ÊÇÓÃÆðÀ´¾Í±ÈSQL serverµÄÒª·½±ã£¬Ã»ÓÐ֮ǰµÄÎÊÌ⣺
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
W ......