ÓÃsql語¾ä實現
問題ÈçÏ£º
產Æ·結構±í
Ö÷ Ôª
A B
B C
C D
實現結¹ûÈçÏÂA->B->C->D
ÓÃwithµÝ¹é
SELECT Ö÷ from AA
start with Ö÷='A'
connect by prior Ôª = Ö÷
SQL code:
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as
SQL>
SQL> with table1 as
2 (
3 select 'A' parent1,'B' child1 from dual
4 union all
5 select 'B' ,'C' from dual
6 union all
7 select 'C','D' from dual
8 union all
9 select 'K','E' from dual
10 )
11 select concat('A->', replace(wm_concat(child1), ',', '->'))
12 from table1
13 start with parent1 = 'A'
14 connect by prior child1 = parent1
15 /
CONCAT('A->',REPLACE(WM_CONCAT
--------------------------------------------------------------------------------
A->B->C->D
SQL>
SQL code:
10:01:52 tina@PRACTICE> with tb as (
10:01:54 2 select 'A' Ö÷,'B' Ôª from dual
10:01:54 3 union all
10:01:54 4 select 'B','C' from dual
10:01:54 5 union all
10:01:54 6 select 'C','D' from dual
10:01:54 7 )
10:01:54 8 select 'A->'||replace(wm_concat(
Ïà¹ØÎÊ´ð£º
ÎÒÓжà¸ö±íA B C ½á¹¹ÊÇÒ»ÑùµÄ£¬¶¼ÓÐ2¸ö×Ö¶ÎnameºÍcontent,ÎÒÒªËÑË÷ËùÒÔ±íËùÓÐ×Ö¶ÎÖаüº¬¡°Öйú¡±µÄÄÚÈÝ Õâ¸öSQLÓï¾äÔõôд
ÈçºÎ½«¶à¸ö±íµÄ²éѯ½á¹ûÁ¬³ÉÒ»¸ö±í Õâ¸öSQLÓï¾äÔõôд ±íµÄ½á¹¹ÊÇÒ»ÑùµÄ
ÀýÈç£ ......
select convert(varchar(50),cast(convert(numeric(18,2),1275674000000/100000000)as real))+'ÒÚ'
select cast(convert(numeric(18,2),1275674000000/100000000)as real)
ΪʲôÉÏÒ»¸öÓÃvarcharת»»ºó¾ÍÖ»±£ÁôÁËÒ ......
СµÜ£¬×î½üҪתÐÐÈ¥×öoracle¿ª·¢ÁË£¬ÓÉÓÚ´óѧ±Ïҵʱ£¬×ßÁ˸öÍä·£¬ÏÖÔÚºÜСÐÄ£¬ÎÊÏ£¬×öPL/SQLÓÐûÓÐǰ;£¿£¿£¿
µ±È»ÎÒ˵µÄÕâ¸öǰ;ÊÇÖ¸ ÒÔºóÒªÌø²Û£¬Êг¡¶ÔÕâÑùµÄÈ˲ŵÄÐèÇóÁ¿´ó²»´ó£¿£¿
3q ÄÇ¿´À´»¹Ö»ÄÜÏȽӴ ......
select count(1) from FX_RETURNBOOKCHECKLIST fxreturnbo0_ where fxreturnbo0_.BOOKID='164 ' AND fxreturnbo0_.RETURNID='00025.S0000001'
ÉÏÃæÒ»¸ö¼òµ¥µÄSQL,Ö´ÐÐʱ¼ä2.6à ......