[英]insert into temp table using Cross Apply?
我想創建一個臨時表並根據選擇插入值。 查詢未執行,我缺少什么? 我最終想通過臨時表循環
Create Table #temp (ID varchar(25),Source_Id varchar(25),Processed varchar(25), Status varchar(25),Time_Interval_Min varchar(25))
Insert into #temp
Select t.*
From
(SELECT DISTINCT source_id
FROM Activity_WorkLoad) t1
CROSS APPLY
(
SELECT TOP 1
aw.ID,
Source_Id
,Processed
,Status
,Time_Interval_Min
FROM [dbSDS].[dbo].[Activity_WorkLoad] aw
JOIN [dbSDS].[dbo].[SDA_Schedule_Time] st ON aw.SDA_Resource_ID = st.ID
WHERE aw.Source_Id = t1.Source_Id AND aw.Status = 'Queued'
ORDER BY Processed DESC
)t
當您cross apply
,您仍然需要一個別名:
Insert into #temp (id, source_id, processed, status, time_interval_min)
Select tt.*
From (SELECT DISTINCT source_id
FROM Activity_WorkLoad
) t CROSS APPLY
(SELECT TOP 1 aw.ID, Source_Id, Processed, Status, Time_Interval_Min
FROM [dbSDS].[dbo].[Activity_WorkLoad] aw JOIN
[dbSDS].[dbo].[SDA_Schedule_Time] st
ON aw.SDA_Resource_ID = st.ID
WHERE aw.Source_Id = t.Source_Id AND aw.Status = 'Queued'
ORDER BY Processed DESC
) tt;
我還假設您想要第二個子查詢而不是第一個子查詢的結果,因為第一個子查詢沒有足夠的列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.