подключить два запроса

Мне нужно использовать данные первого запроса во втором запросе, чтобы получить правильный результат, но я не могу это сделать. Кто может мне помочь.

     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
nl ja de
« не может быть выполнено » не является допустимым сообщением об ошибке.
добавлено автор a_horse_with_no_name, источник

2 ответы

Ну, вы оставили много важных деталей, таких как то, что вы используете DBMS и как вы хотите использовать первый запрос, но если вы используете SQL Server 2005+, я бы рекомендовал посмотреть Общие выражения таблиц :

with myCTE as
(
   --Your first query
)

--You can now use myCTE in another query...
SELECT * FROM myCTE
1
добавлено
Работает за поддержку
добавлено автор Anne, источник

Я полагаю, вы говорите о коррелированных подзапросах. Вы можете найти информацию о http://msdn. microsoft.com/en-us/library/ms187638(v=sql.105).aspx . Суть в том, что внешний запрос связан с каждой итерацией внутреннего запроса. Надеюсь, я хорошо понял ваш вопрос?

1
добавлено
SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)