-1
を使用して階層テーブルを並べ替える私はテーブルがCOMMON.TASK_REL共通テーブル式
と呼ばれてい私のサンプル を参照してくださいexpression.Please共通テーブルを使用して階層テーブルをソートするに立ち往生しています私の2番目のテーブルコモンと呼ばれる。タスクここ
私のSQLクエリ
WITH ctLevel
AS
(
SELECT
C_TASK_ID AS Child
,P_Task_ID AS Parent
,common_task. TASK_SEQ AS taskSeq
,1 AS [Level]
,CAST(C_TASK_ID AS VARCHAR(MAX)) AS [Order]
,CAST (Replicate(' ', 1) + common_task.TASK_NAME AS VARCHAR(MAX)) AS [Task_Name]
FROM
[COMMON.TASK_REL] as common_task_rel,
[COMMON.TASK] as common_task
WHERE
common_task_rel.C_TASK_ID = common_task.TASK_ID
and common_task.[TASK_TYPE] = 'B' AND common_task.[MODULE_CODE] = 'LWRPT' AND common_task.[STATUS] <> 'D'
and common_task_rel.P_TASK_ID is null
UNION ALL
SELECT
C_TASK_ID AS Child
,P_Task_ID AS Parent
,common_task. TASK_SEQ AS taskSeq
,[Level] + 1 AS [Level]
,[Order] + '.' + CAST(C_TASK_ID AS VARCHAR(MAX)) AS [Order]
,CAST (Replicate(' ', [Level] + 1) + common_task.TASK_NAME AS VARCHAR(MAX)) AS [Task_Name]
FROM
[COMMON.TASK_REL]as common_task_rel
INNER JOIN
ctLevel
ON
(P_Task_ID = Child) ,
[COMMON.TASK] as common_task
WHERE
common_task_rel.C_TASK_ID = common_task.TASK_ID
and common_task.[TASK_TYPE] = 'B' AND common_task.[MODULE_CODE] = 'LWRPT' AND common_task.[STATUS] <> 'D'
)
SELECT [Parent] ,[Child],taskSeq, Level,[Order],[Task_Name]as taskName
FROM ctLevel
order by [Order]
マイSQL結果
は、私は質問を得ました。どのように私は
taskName taskSeq
-Item1 1
--Item 1.1 1
--Item 1.2 2
--Item 1.3 3
-item 3 2
-Item 2 3
--Item 2.1 1
--Item 2.2 2
--Item 2.3
---Item 2.3.1
以下助けてくださいのような結果になることを何か
taskseqを並べ替えることができます。非常に緊急。事前に感謝します
:これを解決する方法は、そのすべての子に親から値を複製する別のフィールドを導入することですか? –