2013-02-25 97 views
-1

我需要在第二個查詢中使用第一個查詢的數據來獲得正確的結果,但我無法完成。誰可以幫助我。連接兩個查詢

 SELECT [Project Nr], Task, TaskDate 
    FROM (
    SELECT MSP_EpmProject_UserView.[Project Nr] 
     ,MAX(CASE WHEN [Task Type tempress] = 'Packed' 
        THEN [Taskdeadline] 
       END) AS Pack 
     ,MAX(CASE WHEN [Task Type tempress] = 'Leave Production' 
        THEN [Taskdeadline] 
       END) AS [Leave Production] 
     ,MAX(CASE WHEN [Task Type tempress] = 'Flight Date' 
        THEN [Taskdeadline] 
       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 Vaassen],[Flight Date]) 
    ) piv 

查詢的這一部分必須使用上面的查詢的數據:

select 
     * 
    from 
     M AllData 
    inner join (
    select 
     ROW_NUMBER() OVER (Order by TaskDate) as ProductionOrder, 
     [Project Nr] 
    from 
     M 
    where 
     task = 'Leave Production' 
    ) 
    ProductionOrder 
    on ProductionOrder.[Project Nr] = AllData.[Project Nr] 
    Order by 
    ProductionOrder 
+1

「*無法完成*」不是有效的錯誤消息。 – 2013-02-25 18:07:47

回答

1

那麼你忽略了很多重要的細節,比如你正在使用的數據庫管理系統,以及如何你想使用第一個查詢,但如果你正在使用SQL Server 2005+,我會建議看Common Table Expressions

with myCTE as 
(
    --Your first query 
) 

--You can now use myCTE in another query... 
SELECT * FROM myCTE 
+0

作品感謝您的支持 – Anne 2013-02-25 19:06:15