Я пытался сделать запрос с динамическим c именем столбца. Так что последний запрос может быть выполнен
DECLARE @SQLFinal NVARCHAR(MAX)
DECLARE @SQLAlias NVARCHAR(MAX)='SELECT '',''+cast(ColumnName as varchar(20)) + '' as '' + cast(ColAliasName as varchar(20)) collate Latin1_General_CI_AS from #colandAlias'
DECLARE @SQLAliasResult NVARCHAR(MAX)
EXEC sp_executesql @SQLAlias= @SQLAliasResult OUTPUT
select @SQLAliasResult
- Присвоил результат sp_execute переменной, @ SQLAliasResult.It дает NULL вместо exe c result
- целью является объединение вышеуказанного результата (@SQLAliasResult) с частью запроса belwo для формирования полного запроса
set @SQLFinal='SELECT
ID,Name,custid '
+@SQLAliasResult+
' FROM dbo.tableCustomer where custid=71'
EXEC @SQLFinal
- как присвоить результат выполнения запроса в переменной и выполнить @SQLFinal?
--- вывод the@SQLAliasResult
,col1 as [201911]
,col2 as [201912]
,col1 as [202001]
,col2 as [202002]
- Содержимое @SQLFinal
SELECT
ID,Name,custid
,col1 as [201911]
,col2 as [201912]
,col1 as [202001]
,col2 as [202002]
FROM dbo.tableCustomer where custid=71
exe c @SQLFinal выдаст требуемый выход из dbo.tableCustomer с сгенерированными псевдонимами