-1
排序分级表我正陷在使用公共表expression.Please看到我的样品 我有一个表称为COMMON.TASK_REL使用公共表表达式
我的第二张表叫做常见。任务
我的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结果
在这里,我有一个问题。我该如何排序的taskseq成为结果类似下面
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
请帮助。十分紧急。在此先感谢
为什么你不只是一个静态的'Sort'列,并用它为您的自定义排序? – 2012-03-19 08:49:00