Как поставить результаты запроса ниже в таблице temp?Сохранение значений внутри таблицы temp
Следующий запрос дает мне некоторый набор результатов. Мне нужно, чтобы сохранить результат, установленный в таблице темп, чтобы я мог выполнять некоторые соединяется с этой таблицей темп
Declare @cols nvarchar(max),@query nvarchar(max)
select @cols =
stuff((select ',[' + Ltrim(rtrim(costelement)) +']' from WECCostElementsCalculation FOR XML PATH('')),1,1,'');
select @query=
'with T as
(select wch.WECCostElementHeaderID,wceyb.WECCostElementsBreakUpID ,wch.WECCostID,WCEYB.ServiceTypeID,WCEYB.WarrantyCoverageID,wecec.CostElement,weceb.Cost
from WECCostElementsHeader WCH inner join WECCostElementsYearBreakUp WCEYB on WCH.WECCostElementHeaderID
=WCEYB.WECCostElementHeaderID INNER JOIN WECCostElementsBreakUp wecEB on wecEB.WECCostElementsBreakUpID=WCEYB.WECCostElementsBreakUpID
left join WECCostElementsCalculation wecec on wecEB.WECCostElementID = wecec.WECCostElementID
)
select * from T
PIVOT
(SUM(Cost) FOR CostElement IN ('[email protected]+')) as pvt'
exec sp_executesql @query
Заявить, что это глобальная временная таблица является рискованной, особенно если она будет называться «temp», что слишком часто. Кроме того, как насчет последующих исполнений хранимой процедуры? Он должен будет изменить запрос, поскольку таблица будет существовать после первого выполнения. –
@RaduGheorghiu Любое другое имя, это не проблема. Он может генерироваться динамически. – gofr1
Это решение сработало для меня. – havin