Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÇósqlÓï¾ä

Id parentId
17 16
16 0
15 0
14 1
13 6
12 8
11 1
10 2
9 1
8 0
7 0
6 0
5 1
4 2
3 1
2 0
1 0
parentIdΪ¸¸½Úµã£¬²»Îª0µÄÊÇ×Ó½Úµã
×îÖÕÏëÊä³öIDµÄ˳ÐòΪ16,17,15,8,12,7,6,13,2,4,10,1,3,5,9,11,14
Æäʵ
¾ÍÊÇÒ»¸ö¸¸½Úµã£¨½µÐò£©£¬È»ºóÏÂÃæÊÇ×ӽڵ㣨ÉýÐò£©
È»ºóÔÙ¸¸½Úµã£¨½µÐò£©£¬È»ºóÏÂÃæÊÇ×ӽڵ㣨ÉýÐò£©
¶¥Ò»Ï£¬ÏÈÕ¼¸öµØ¡£


ÒýÓÃ
....

SQL code:
DECLARE @TB TABLE([Id] INT, [parentId] INT)
INSERT @TB
SELECT 17, 16 UNION ALL
SELECT 16, 0 UNION ALL
SELECT 15, 0 UNION ALL
SELECT 14, 1 UNION ALL
SELECT 13, 6 UNION ALL
SELECT 12, 8 UNION ALL
SELECT 11, 1 UNION ALL
SELECT 10, 2 UNION ALL
SELECT 9, 1 UNION ALL
SELECT 8, 0 UNION ALL
SELECT 7, 0 UNION ALL
SELECT 6, 0 UNION ALL
SELECT 5, 1 UNION ALL
SELECT 4, 2 UNION ALL
SELECT 3, 1 UNION ALL
SELECT 2, 0 UNION ALL
SELECT 1, 0

DECLARE @STR VARCHAR(MAX)
SET @STR=''

;WITH CTE AS
(
SELECT *,ID AS GRP from @TB WHERE [parentId]=0
UNION ALL
SELECT T.*,CTE.ID from @TB AS T JOIN CTE ON T.[parentId]=CTE.ID
)
SELECT @STR=@STR+','+RTRIM(ID)
from CTE
ORDER BY GRP DESC,[parentId],ID

SELECT STUFF(@STR,1,1,'')
/*
16,17,15,8,12,7,6,13,2,4,10,1,3,5,9,11,14
*/



Â¥ÉϸßÊÖ¸ßÊָ߸ßÊÖ£¬Ð»Ð»

SQL code



Co


Ïà¹ØÎÊ´ð£º

sqlÓï¾ä¶à±í¶à×ֶβéѯ - MS-SQL Server / »ù´¡Àà

ÎÒÓжà¸ö±íA B C ½á¹¹ÊÇÒ»ÑùµÄ£¬¶¼ÓÐ2¸ö×Ö¶ÎnameºÍcontent,ÎÒÒªËÑË÷ËùÒÔ±íËùÓÐ×Ö¶ÎÖаüº¬¡°Öйú¡±µÄÄÚÈÝ Õâ¸öSQLÓï¾äÔõôд 

ÈçºÎ½«¶à¸ö±íµÄ²éѯ½á¹ûÁ¬³ÉÒ»¸ö±í Õâ¸öSQLÓï¾äÔõôд ±íµÄ½á¹¹ÊÇÒ»ÑùµÄ
ÀýÈç£ ......

SQLÈçºÎÓÅ»¯ÎÊÌâ - MS-SQL Server / ÒÉÄÑÎÊÌâ

½ñÌì×öÁËÒ»¸ö´æ´¢¹ý³Ì   »·¾³ÊÇSQL2000Êý¾Ý¿â  
´óÖÂÈçÏÂ
½¨Á¢ÁÙʱ±í
¶¨ÒåÔ±¹¤Óαê
        Ñ­»·Ô±¹¤£¨ÊôÓÚ1¸ö¹«Ë¾)  
        ......

pl/sql - Oracle / ¿ª·¢

СµÜ£¬×î½üҪתÐÐÈ¥×öoracle¿ª·¢ÁË£¬ÓÉÓÚ´óѧ±Ïҵʱ£¬×ßÁ˸öÍä·£¬ÏÖÔÚºÜСÐÄ£¬ÎÊÏ£¬×öPL/SQLÓÐûÓÐǰ;£¿£¿£¿
µ±È»ÎÒ˵µÄÕâ¸öǰ;ÊÇÖ¸ ÒÔºóÒªÌø²Û£¬Êг¡¶ÔÕâÑùµÄÈ˲ŵÄÐèÇóÁ¿´ó²»´ó£¿£¿

3q ÄÇ¿´À´»¹Ö»ÄÜÏȽӴ ......

ÇóÒ»SQLд·¨ - MS-SQL Server / »ù´¡Àà

id                           url                   rank     ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ