0
我的數據即將以這種方式出現,這不是我所需的輸出。有關顯示分層數據的問題SQL Server 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