Выполнение следующего запроса, показывающего Invalid object name '#temp1'.
, может любой орган знает, что произошла ошибка, из-за которой это мой исходный код, который я использовал для извлечения кода, ее таблицы differnt сформированы. Мне нужно получить сумму каждой строки каждого таблицаПоказ "Недопустимое имя объекта" в sqlServer?
DECLARE @t TABLE (
id int IDENTITY(1,1),
BranchName nvarchar(max)
)
DECLARE @n int = 0,
@i int = 1,
@BranchName nvarchar(max),
@sql nvarchar(max),
@columns nvarchar(max)
INSERT INTO @t
SELECT DISTINCT BranchName
FROM ALX_Branches
SELECT @n = @@ROWCOUNT
WHILE @n >= @i
BEGIN
SELECT @BranchName = BranchName
FROM @t
WHERE id = @i
SELECT @columns = (
SELECT DISTINCT ','+QUOTENAME([SubInventory])
FROM #MyTempTable
WHERE [BranchName] = @BranchName
FOR XML PATH('')
)
SELECT @sql = N'--
SELECT * into #temp1
FROM (
SELECT [BranchID],
[SubInventory],
[Product],
[Stock]
FROM #MyTempTable
WHERE [BranchName] = ''' [email protected] +'''
) as t
PIVOT (
MAX([Stock]) FOR [SubInventory] IN ('+STUFF(@columns,1,1,'')+')
) as pvt'
EXEC sp_executesql @sql
select * from #temp1
вам необходимо создать таблицу первого, то она будет доступна в динамическом SQL - отсюда http://stackoverflow.com/ Вопросы/2917728/t-sql-dynamic-sql-and-temp-tables –
'PIVOT ( MAX ([Stock]) ДЛЯ [SubInventory] IN ('+ STUFF (@ columns, 1,1,' ') +') 'это, может быть изменено каждый раз, в соответствии с ветвями, то как я могу создать стабильную таблицу для этого –
IDK :) попробуйте использовать простую постоянную таблицу и отбросить ее после ... hm? –