WITH CommentList (Sort1, Sort2, Level, ID, Parent, Name, Password, Homepage, SecretYN, Content, RegID, RegIP, RegDT)
AS
(
SELECT
CAST(c.ID as varchar) as Sort1 ,
CAST('' AS varchar) + CAST(0 AS varchar) as Sort2 ,
0 AS Level, c.ID, c.Parent, c.Name, c.Password, c.Homepage, c.SecretYN, c.Content, c.RegID, c.RegIP, c.RegDT
FROM tbComments c
LEFT OUTER JOIN tbCommentGroup cg on c.id = cg.CommentID
Where cg.GroupID = 1 and c.Parent = 0
UNION ALL
SELECT
cl.Sort1 ,
CAST(cl.Sort2 AS varchar) + CAST(ROW_NUMBER() OVER(ORDER BY C.RegDT) AS varchar) AS Sort2,
Level + 1 AS Level, c.ID, c.Parent, c.Name, c.Password, c.Homepage, c.SecretYN, c.Content, c.RegID, c.RegIP, c.RegDT
FROM tbComments as c
INNER JOIN CommentList as cl
ON c.Parent = cl.ID
)
SELECT C.*
FROM (
SELECT
ROW_NUMBER() OVER(ORDER BY Sort1 DESC, Sort2 ASC ) AS RowNo -- 로우넘버
, Sort1, Sort2, Level, ID, Parent, Name, Password, Homepage, SecretYN, Content, RegID, RegIP, RegDT FROM CommentList
) C
WHERE C.RowNo BETWEEN 1 AND 10
Order by RowNo
'데이터베이스' 카테고리의 다른 글
xml 읽어서 insert 하기 - MSSQL (0) | 2014.08.18 |
---|---|
서버 데이터 정렬 COLLATION 변경 - MSSQL (0) | 2014.08.18 |
ERWIN Index 이름 변경 방법 (0) | 2014.08.18 |
ERwin 논리명을 comment로 자동생성 (0) | 2014.08.18 |
여러행을 한로우에 (0) | 2014.08.18 |