Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Yaroslav85 Member Откуда: Сообщений: 36 |
Всем привет. На просторах интернета нашел интересную процедуру для динамического Unpivot: тут: https://bengribaudo.com/blog/2015/02/05/3383/dynamic-unpivot-stored-procedure
темповая тестовая таблица:
с одним столбцом во втором параметре работает EXEC DynamicUnpivot N'SELECT * from #TempT2' ,@Column = N'col1' Внимание вопрос: как передать в третий параметр название еще нескольких столбцов? EXEC DynamicUnpivot N'SELECT * from #TempT2' ,@Column = N'col1' ,@ColumnList = 'col2,col3'/*вот сюда как передать параметр?*/ |
||
10 дек 19, 15:09 [22036985] Ответить | Цитировать Сообщить модератору |
Minamoto Member Откуда: Москва Сообщений: 1162 |
Yaroslav85, это табличная переменная:@ColumnList ColumnList READONLY, -- List of column names. Combined with @Column to control which columns are unpivoted. Объявляете табличную переменную, заполняете значениями, передаете в процедуру. |
10 дек 19, 15:37 [22037015] Ответить | Цитировать Сообщить модератору |
Yaroslav85 Member Откуда: Сообщений: 36 |
а можете пример кинуть? я пробовал и так: declare @T as table (name SYSNAME) insert into @T select 'col2' insert into @T select 'col3' select * from @T EXEC DynamicUnpivot N'SELECT * from #TempT2' ,@Column = N'col1' ,@ColumnList = @T/*вот сюда как передать?*/ дает ошибку: Msg 206, Level 16, State 2, Procedure DynamicUnpivot, Line 0 [Batch Start Line 21] Operand type clash: table is incompatible with ColumnList |
||||
10 дек 19, 16:06 [22037058] Ответить | Цитировать Сообщить модератору |
Yaroslav85 Member Откуда: Сообщений: 36 |
Minamoto, спасибо . Погуглил ошибку - дошло :) DECLARE @T AS ColumnList insert into @T select 'col2' insert into @T select 'col3' select * from @T EXEC DynamicUnpivot N'SELECT * from #TempT2' ,@Column = N'col1' ,@ColumnList = @T/*вот сюда как передать?*/ работает :) |
10 дек 19, 16:11 [22037062] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |