Мне нужно создать временную таблицу или переменную для ~ 20 строк.
DECLARE @UserDailyStatsForCategories TABLE (
CategoryId uniqueidentifier not null,
[Date] date not null,
[Unique users] int not null,
[Returning users] int not null,
[New users] int not null
);
insert into @UserDailyStatsForCategories (CategoryId, [Date], [Unique users], [Returning users], [New users])
select
@CategoryId,
eventdate,
count(*),
count(case when cnt > 1 then 1 end),
count(case when cnt = 1 then 1 end)
from
(
select cast(eventtime as date) as eventdate, userid, count(*) as cnt
from telemetrydata
where [dbo].[TelemetryData].[DiscountId] = @DiscountId
and [dbo].[TelemetryData].[EventName] = 'DiscountClick'
group by cast(eventtime as date), userid
) date_user
group by eventdate;
Это работает, но когда я добавляю это:
update CategoryDailyStatsTemp
set
[CategoryDailyStatsTemp].[Unique users] = @UserDailyStatsForCategories.[Unique users],
[CategoryDailyStatsTemp].[Returning users] = @UserDailyStatsForCategories.[Returning users],
[CategoryDailyStatsTemp].[New users] = @UserDailyStatsForCategories.[New users]
where [CategoryDailyStatsTemp].[Id] = @UserDailyStatsForCategories.CategoryId
and [CategoryDailyStatsTemp].[Date] = @UserDailyStatsForCategories.[Date];
Затем я получил ошибку:
Сообщение 137, уровень 15, состояние 2, строка 3. Необходимо объявить скалярную переменную «@UserDailyStatsForCategories».
Что здесь происходит?