У меня есть оператор выбора, который выдает один большой столбец. То, что я хотел бы сделать, это преобразовать один столбец в одну строку, чтобы я мог передать его в другую хранимую процедуру. Как я могу транспонировать таблицу, чтобы она была одной строкой? До сих пор я пробовал UNIPIVOT
, но не смог заставить его работать.
Вот формат текущей таблицы (в действительности она намного длиннее с переменным количеством строк):
+------+
| Col1 |
+------+
| 1 |
| 56 |
| 83 |
| 345 |
| 4322 |
| 4456 |
+------+
, которая хранится в локальной таблице #localtable
Я хотел бы превратить приведенную выше таблицу в приведенную ниже таблицу:
+------+------+------+------+------+------+
| Col1 | Col2 | Col3 | Col4 | col5 | col6 |
+------+------+------+------+------+------+
| 1 | 56 | 83 | 345 | 4322 | 4456 |
+------+------+------+------+------+------+
в качестве промежуточного этапа преобразования ее в следующую строку с разделителями-запятыми:
'1, 56, 83, 345, 4322, 4456'
С целью подачи его в exec, как:
exec myfunction '1, 56, 83, 345, 4322, 4456'