У меня есть таблица, показанная ниже
DateRange
10/1
11/1
12/1
Я перебираю эту таблицу с помощью курсора и пытаюсь заполнить временную таблицу
Create table #BidStatusCalculation1
(
Code nvarchar(max),
Data int
)
Declare @monthStart varchar(20)
DECLARE cur CURSOR FOR SELECT DateRange FROM @dateRange
OPEN cur
FETCH NEXT FROM cur INTO @monthStart
WHILE @@FETCH_STATUS = 0 BEGIN
Insert into #BidStatusCalculation1
select 'SL Payroll',Count(*) from DashboardData
where DataType = 'Bid'
and CONVERT(NVARCHAR, CreatedDate, 105) = convert(datetime,
(@monthStart+'/'+@RequestYear))
FETCH NEXT FROM cur INTO @monthStart
END
CLOSE cur
DEALLOCATE cur
Это дает мне результат, как показано ниже
Code Data
SL Payroll 22
SL Payroll 33
SL Payroll 43
Я хочу изменить таблицу, поэтому я получаю только одну строку, как
Code Data1 Data2 Data3
SL Payroll 22 33 43
Может кто-нибудь сказать мне, что может быть хорошим подходом - сначала вставить данные в таблицу в первом цикле, а затем обновить их. Я могу поставить переменную для подсчета итерации цикла, а затем написать отдельную вставку и обновление, но мне было интересно, есть ли лучший способ.
Спасибо