您可以
row_number()用来做基本上相同的事情:
WITH DataToInsert AS( Select AgentID, Surveys, LOB,(case when day(getdate())<4 then 3 else (day(getdate())) - (Surveys*3) end) SampleSize from Current_Agent_SurveyCount_HSI Where surveys<8 )Insert Into Survey_Source_New (LOB, CenterName, CallDate, AgentZid, TN, Ticket, RecordingID, Cycle, [TimeStamp]) select LOB, CenterName, CallDate, AgentZid, TN, Ticket, RecordingID, Cycle, [TimeStamp] from (Select ss.LOB, CenterName, CallDate, AgentZid, TN, Ticket, RecordingID, Cycle, [TimeStamp], row_number() over (order by newid()) as seqnum From Survey_source_Level1 ss inner join DataToInsert du on ss.AgentZID=du.agentID where flag is null and du.samplesize<7 ) t where seqnum <= du.sample_size
您也许可以简化一下,但是我不知道它是否
flag来自du或ss。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)