0
내 데이터가 내 결과물이 아닌 방식으로 나타납니다.계층 적 데이터 표시와 관련된 문제 SQL 서버 2005
JID EntryDate RefundDate Comments Refund ActionBy nLevel
------ ------------ -------------- ---------- ------ -------- ------
41986 NULL NULL NULL NULL NULL 1
41985 NULL NULL NULL NULL NULL 1
NULL 2013-12-17 2013-12-24 Cancel 0 tridip 2
NULL 2013-12-17 2013-12-25 done 1 tridip 2
NULL 2013-12-17 2013-12-24 no 0 tridip 2
NULL 2013-12-18 2013-12-25 testing 0 tridip 2
NULL 2013-12-18 2013-12-25 done now 1 tridip 2
하지만 난 부모 자식 관계처럼 아래 방법과 같이 출력을 갖고 싶어
JID EntryDate RefundDate Comments Refund ActionBy nLevel
------ ------------ -------------- ---------- ------ -------- ------
41986 NULL NULL NULL NULL NULL 1
NULL 2013-12-17 2013-12-24 no 0 tridip 2
NULL 2013-12-17 2013-12-25 testing 0 tridip 2
NULL 2013-12-17 2013-12-25 done now 1 tridip 2
41985 NULL NULL NULL NULL NULL 1
NULL 2013-12-18 2013-12-24 Cancel 0 tridip 2
NULL 2013-12-18 2013-12-25 done 1 tridip 2
내가 원하는 CID 여전히 출력이 오지 않아 그런데 부모 자식 관계 배를 구축하려고
. 그래서 여기 출력을 가지고 발행 오전 내 SQL입니다.
;WITH Hierarchy AS
(
SELECT DISTINCT JID
,CAST(NULL AS DATETIME) EntryDate
,CAST(NULL AS DATETIME) RefundDate
,CAST(NULL AS VARCHAR(MAX)) Comments
,CAST(NULL AS BIT) Refund
,CAST(NULL AS VARCHAR(30)) ActionBy
,nLevel = 1
,CAST(NULL AS INT) AS CID
FROM refundrequested
UNION ALL
SELECT CAST(NULL AS INT) JID
,E.EntryDate
,E.RefundDate
,E.Comments
,E.Refund
,E.ActionBy
,H.nLevel+1
,H.JID AS CID
FROM refundrequested E
JOIN Hierarchy H ON E.JID = H.JID
)
SELECT *
FROM Hierarchy
ORDER BY JID DESC, nLevel