powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / t-sql. Столбец в строку. Pivot
6 сообщений из 6, страница 1 из 1
t-sql. Столбец в строку. Pivot
    #39999961
Добрый день!
Имеется таблица
num | pars
0 | 'data1'
1 | '23'
2 | 'data2'
3 | '24'
4 | 'data3'
5 | '25'


как получить
data1 | 23 | data2 | 24 | data3 | 25
...
Рейтинг: 0 / 0
t-sql. Столбец в строку. Pivot
    #39999978
Oleg_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александра2393,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
DECLARE @tbl TABLE(
                   num  INT, 
                   pars VARCHAR(50)
);
INSERT INTO @tbl
VALUES (0, 'data1'), (1, '23'), (2, 'data2'), (3, '24'), (4, 'data3'), (5, '25');

SELECT STRING_AGG(pars, ' | ') FROM @Tbl





Собственно, как задан вопрос такое и решение
...
Рейтинг: 0 / 0
t-sql. Столбец в строку. Pivot
    #39999985
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александра2393,

Ещё одно дословное решение
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
with t as 
(
    select
        1 as id,
        'tst' as s
    union all
    select
        2,
        'zzzz'
)
select 
    *
from
    t
pivot
    (min(s) for id in ([1], [2])) as x;
...
Рейтинг: 0 / 0
t-sql. Столбец в строку. Pivot
    #40000035
Oleg_SQL,
Прошу прощения за неточность.
Постараюсь выразить вопрос точнее.
Имеется таблица, с 1 столбцом. Pars
В столбце содержатся произвольные данные.
Необходимо данные в столбце pars преобразовать в строку, т.е. каждой строке столбца pars должено соответствовать отдельное поле.

В столбце pars 25 строк. Необходимо получить 25 столбцев.
Data1 | 23 | Data2 | 24 итд...
Это не имена полей, а именно содержимое полей, которое частично инсертится в прочие таблицы.
...
Рейтинг: 0 / 0
t-sql. Столбец в строку. Pivot
    #40000131
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александра2393
Oleg_SQL,
Прошу прощения за неточность.
Постараюсь выразить вопрос точнее.
Имеется таблица, с 1 столбцом. Pars
В столбце содержатся произвольные данные.
Необходимо данные в столбце pars преобразовать в строку, т.е. каждой строке столбца pars должено соответствовать отдельное поле.

В столбце pars 25 строк. Необходимо получить 25 столбцев.
Data1 | 23 | Data2 | 24 итд...
Это не имена полей, а именно содержимое полей, которое частично инсертится в прочие таблицы.


Завязывайте с нереляционными фантазиями.
...
Рейтинг: 0 / 0
t-sql. Столбец в строку. Pivot
    #40000346
Oleg_SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александра2393,


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
DECLARE @tbl TABLE(
                   num  INT, 
                   pars VARCHAR(50)
);
INSERT INTO @tbl
VALUES (0, 'data1'), (1, '23'), (2, 'data2'), (3, '24'), (4, 'data3'), (5, '25');


DECLARE @script VARCHAR(1000);
SELECT @script = STRING_AGG('''' + pars +'''' + ' AS Field' + CAST(num AS VARCHAR(10)) , ',')
  FROM @tbl;

EXEC('SELECT ' + @Script)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / t-sql. Столбец в строку. Pivot
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]