对我来说,您似乎没有很好地满足您的要求。
我什么也没关注。
我唯一明白的是,你想将 Cur_Month 数据转换为 Cur_Data 特定格式。我还没有理解背景。
试试这个并让我知道,
declare @Prv_Data table(Report_ID int,Timeline varchar(40))
insert into @Prv_Data VALUES
(01,'Weekly @Mon')
,(01,'Weekly @Mon')
,(01,'Weekly @Mon')
,(01,'Weekly @Mon')
,(02,'Weekly @Thru')
,(02,'Weekly @Thru')
,(02,'Weekly @Thru')
,(02,'Weekly @Thru')
,(02,'Weekly @Thru')
declare @Cur_Month table(Details varchar(40),Count varchar(40))
insert into @Cur_Month VALUES
('First Date','05/01/2017')
,('Last Date','05/31/2017')
,('Friday','4')
,('Monday','5')
,('Saturday','4')
,('Sunday','4')
,('Thursday','4')
,('Tuesday','5')
,('Wednesday','5')
;WITH Cur_Data as
(
select *
,case when Details='Monday' then '1'
when Details='Thursday' then '2' END ReportID
,case when Details='Monday' then 'Weekly @Mon'
when Details='Thursday' then 'Weekly @Thru' END Timeline
from @Cur_Month
where Details in('Monday','Thursday')
)
select REPLICATE('0',len(ReportID))+ ReportID ReportID
,Timeline from Cur_Data c
cross apply (select number
from master..spt_values where number>0
and number<=c.[count] and type='LO')cs