Project nr Task Task deadline Task Type Production
---------------------------------------------------------------------------
456 packed 1 april 2013 Packed
456 Leave production 3 april 2013 Leave Production
456 Flight date 9 april 2013 Flight Date
123 packed 1 april 2013 Packed
123 Leave production 6 april 2013 Leave Production
123 Flight date 9 april 2013 Flight Date
789 packed 1 april 2013 Packed
789 Leave production 9 april 2013 Leave Production
789 Flight date 9 april 2013 Flight Date
我需要像上面這樣的列表我想在'離開生產'的日期排序項目nr必須像上面的列表一樣保持3個組。排序時出現多部分標識符錯誤
我已經有了這個SQL。該列表正在工作,但排序不起作用。錯誤是:
無法綁定多部分標識符「任務。[任務截止時間]」。
我已經有一個建議,但仍然錯誤。我如何獲得排序?
這是列表中我得到:
Project Nr Task TaskDate
0053 Packed 2013-02-05 17:00:00.000
0053 Leave Production 2011-04-26 17:00:00.000
0053 Flight Date 2011-04-22 17:00:00.000
0071 Leave Production 2011-06-24 17:00:00.000
0081 Leave Production 2012-03-09 17:00:00.000
0081-01 Leave Production 2012-03-09 17:00:00.000
這是SQL查詢:
SELECT
[Project nr], Task, TaskDate
FROM
(SELECT
MSP_EpmProject_UserView.[Project nr]
,MAX(CASE WHEN [Task Type Production] = 'Packed'
THEN [Task deadline]
END) AS Packed
,MAX(CASE WHEN [Task Type Production] = 'Leave Production'
THEN [Task deadline]
END) AS [Leave Production]
,MAX(CASE WHEN [Task Type Production] = 'Flight Date'
THEN [Task deadline]
END) AS [Flight Date]
FROM
MSP_EpmProject_UserView
LEFT JOIN
MSP_EpmTask_UserView ON MSP_EpmProject_UserView.ProjectUID = MSP_EpmTask_UserView.ProjectUID
LEFT JOIN
MSP_EpmAssignment_UserView ON MSP_EpmTask_UserView.TaskUID = MSP_EpmAssignment_UserView.TaskUID
LEFT JOIN
MSP_EpmResource_UserView ON MSP_EpmAssignment_UserView.ResourceUID = MSP_EpmResource_UserView.ResourceUID
WHERE
(MSP_EpmTask_UserView.TaskIsProjectSummary = 0)
GROUP BY
MSP_EpmProject_UserView.[Project nr]) data
UNPIVOT
(TaskDate
FOR [Task] IN ([Pack], [Leave Production], [Flight Date])
) piv
此行應該做的排序:
ORDER BY data.[Task deadline]
,但我得到一個錯誤
消息4104,級別16,狀態1,行62
無法綁定多部分標識符「data.Taskdeadline」。
如果你想按'[離開生產]'命令 - 你需要指定'ORDER BY [離開生產]'(而不是'[任務截止]').... – 2013-02-24 17:57:20