从同一select语句中使用N动态选择前N个

从同一select语句中使用N动态选择前N个,第1张

从同一select语句中使用N动态选择前N个

您可以

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。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5640419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存