Sql 使用交叉应用插入临时表?
我想创建一个临时表,并根据选择值插入值。查询没有执行,我缺少什么?我最终想要循环通过临时表Sql 使用交叉应用插入临时表?,sql,sql-server-2012,temp-tables,Sql,Sql Server 2012,Temp Tables,我想创建一个临时表,并根据选择值插入值。查询没有执行,我缺少什么?我最终想要循环通过临时表 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
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
当您交叉应用
时,仍然需要别名:
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;
我还假设您想要第二个子查询的结果,而不是第一个子查询的结果,因为第一个子查询没有足够的列。“查询没有执行”:您得到了什么错误?您选择了t.*
,但是t
中只有一列,并且您没有指定将其放入哪一列。非常确定这个查询没有完成您实际想要做的事情。你为什么不问这个问题?