Итак, в моей первой таблице я получаю только идентификаторы.Затем создайте и заполните несколько переменных таблицы и отфильтруйте ее по:
where exists(select * from @ID d where d.ID = @TableData.ID)
, чтобы структура выглядела следующим образом:
--------------------------------------------
declare @DateFrom datetime
@DateTo datetime
--table that contain IDs only
declare @ID table (ID int)
insert into @ID
select ID
from Table
where dates between @DateFrom and @DateTo
--table with data
declare @TableData
select
case...
case...
case...
case...
from Table1
join Table1
join Table1
join Table1
where exists(select * from @ID d where d.ID = @TableData.ID) --filtering only match IDs from @ID table
------------------------------------------------------------------
Можно ли каким-либо образом улучшить производительность?
Я попытался создать #TempTable, но без улучшений.
Я думал, может быть, есть способ создать индекс для табличных переменных или временных таблиц?