锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
濡備綍鏍規嵁鏈欏跺眰鐨刬d鎵懼埌鎵鏈夌殑id,鍖呮嫭瀛恑d,瀛欏瓙id,浠ュ強閲嶅瓩id.
浠ヤ笅杞嚜http://blog.csdn.net/apicescn/archive/2007/02/16/1510922.aspx
connect by 鏄粨鏋勫寲鏌ヨ涓敤鍒扮殑錛屽叾鍩烘湰璇硶鏄細
select ... from tablename start by cond1
connect by cond2
where cond3;
綆鍗曡鏉ユ槸灝嗕竴涓爲鐘剁粨鏋勫瓨鍌ㄥ湪涓寮犺〃閲岋紝姣斿涓涓〃涓瓨鍦ㄤ袱涓瓧孌?/font>:
id,parentid閭d箞閫氳繃琛ㄧず姣忎竴鏉¤褰曠殑parent鏄皝錛屽氨鍙互褰㈡垚涓涓爲鐘剁粨鏋勩?/font>
鐢ㄤ笂榪拌娉曠殑鏌ヨ鍙互鍙栧緱榪欐5鏍戠殑鎵鏈夎褰曘?/font>
鍏朵腑COND1鏄牴緇撶偣鐨勯檺瀹氳鍙ワ紝褰撶劧鍙互鏀懼闄愬畾鏉′歡錛屼互鍙栧緱澶氫釜鏍圭粨鐐癸紝瀹為檯灝辨槸澶氭5鏍戙?/font>
COND2鏄繛鎺ユ潯浠訛紝鍏朵腑鐢?/font>PRIOR琛ㄧず涓婁竴鏉¤褰曪紝姣斿 CONNECT BY PRIOR ID=PRAENTID灝辨槸璇翠笂涓鏉¤褰曠殑ID鏄湰鏉¤褰曠殑PRAENTID錛屽嵆鏈褰曠殑鐖朵翰鏄笂涓鏉¤褰曘?/font>
COND3鏄繃婊ゆ潯浠訛紝鐢ㄤ簬瀵硅繑鍥炵殑鎵鏈夎褰曡繘琛岃繃婊ゃ?/font>
PRIOR鍜?/span>START WITH鍏抽敭瀛楁槸鍙夐」
PRIORY榪愮畻絎﹀繀欏繪斁緗湪榪炴帴鍏崇郴鐨勪袱鍒椾腑鏌愪竴涓殑鍓嶉潰銆傚浜庤妭鐐歸棿鐨勭埗瀛愬叧緋伙紝PRIOR
榪愮畻絎﹀湪涓渚ц〃紺虹埗鑺傜偣錛屽湪鍙︿竴渚ц〃紺哄瓙鑺傜偣錛屼粠鑰岀‘瀹氭煡鎵炬爲緇撴瀯鏄殑欏哄簭鏄嚜欏跺悜涓嬭繕鏄?/span>
鑷簳鍚戜笂銆傚湪榪炴帴鍏崇郴涓紝闄や簡鍙互浣跨敤鍒楀悕澶栵紝榪樺厑璁鎬嬌鐢ㄥ垪琛ㄨ揪寮忋?/span>START WITH 瀛愬彞涓?/span>
鍙夐」錛岀敤鏉ユ爣璇嗗摢涓妭鐐逛綔涓烘煡鎵炬爲鍨嬬粨鏋勭殑鏍硅妭鐐廣傝嫢璇ュ瓙鍙ヨ鐪佺暐錛屽垯琛ㄧず鎵鏈夋弧瓚蟲煡璇?/span>
鏉′歡鐨勮浣滀負鏍硅妭鐐廣?/span>
瀹屾暣鐨勪緥瀛愬SELECT PID,ID,NAME FROM T_WF_ENG_WFKIND START WITH PID =0 CONNECT BY PRIOR ID = PID
浠ヤ笂涓昏鏄拡瀵逛笂灞傚涓嬪眰鐨勯『鍚戦掑綊鏌ヨ鑰屼嬌鐢╯tart with ... connect by prior ...榪欑鏂瑰紡,浣嗘湁鏃跺湪闇姹傞渶瑕佺殑鏃跺?鍙兘浼氶渶瑕佺敱涓嬪眰鍚戜笂灞傜殑閫嗗悜閫掑綊鏌ヨ,姝ゆ槸璇彞灝辨湁鎵鍙樺寲:渚嬪瑕佸疄鐜?select * from table where id in ('0','01','0101','0203','0304') ;鐜板湪鎯蟲妸0304鐨勪笂涓綰?3緇欓掑綊鍑烘潵,0203鐨勪笂涓綰?2緇欓掑綊鍑烘潵,鑰?1鐜板湪宸茬粡鏄瓨鍦ㄧ殑,鏈楂樺眰涓?.鑰岃繖寮爐able涓嶄粎浠呰繖浜涙暟鎹?浣嗘垜鐜板湪鍙渶瑕?'0','01','0101','0203','0304','02','03')榪欎簺鏁版嵁,姝ゆ椂璇彞鍙互榪欐牱鍐橲ELECT PID,ID,NAME FROM V_WF_WFKIND_TREE WHERE ID IN (SELECT DISTINCT(ID) ID FROM V_WF_WFKIND_TREE CONNECT BY PRIOR PID = ID START WITH ID IN ('0','01','0101','0203','0304') );
鍏朵腑START WITH ID IN閲岄潰鐨勫間篃鍙互鏇挎崲SELECT 瀛愭煡璇㈣鍙?
http://topic.csdn.net/t/20050319/17/3864428.html
http://blog.csdn.net/Bogues/archive/2005/10/28/518590.aspx