Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Разделить один столбец на множество по 10 строк  [new]
bamper78
Member

Откуда:
Сообщений: 110
Добрый день, подскажите как можно разделить один столбец на множество по равному количеству строк (например 5), за исключение последнего столбца , там уже сколько получиться
col 1
200
300
400
500
600
700
800
900
1000
1100
1200


Нужно получить

col 1col2col3
2006001100
3007001200
400800
500900
6001000


Спасибо.
9 апр 19, 17:01    [21857446]     Ответить | Цитировать Сообщить модератору
 Re: Разделить один столбец на множество по 10 строк  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 6532
bamper78,

NTILE() + PIVOT.
9 апр 19, 17:44    [21857536]     Ответить | Цитировать Сообщить модератору
 Re: Разделить один столбец на множество по 10 строк  [new]
aleks222
Member

Откуда:
Сообщений: 693
Владислав Колосов
bamper78,

NTILE() + PIVOT.


Да ладно?
row_number() и % справятся
9 апр 19, 17:51    [21857564]     Ответить | Цитировать Сообщить модератору
 Re: Разделить один столбец на множество по 10 строк  [new]
Andrey Sribnyak
Member

Откуда: Киев
Сообщений: 585
bamper78,

А почему в этих данных не на четыре?

select [1], [2], [3]
from
(
select n, r, row_number() over(partition by r order by n)c
from
(
select n,  ntile(3)  over (order by n) r
from (values(200),(300),(400),(500),(600),(700),(800),(900)
,(1000),(1100),(1200)
) t(n)
)a
)b
pivot
(
min(n)
for r in ( [1], [2], [3])
) as PivotTable
9 апр 19, 17:58    [21857583]     Ответить | Цитировать Сообщить модератору
 Re: Разделить один столбец на множество по 10 строк  [new]
bamper78
Member

Откуда:
Сообщений: 110
Andrey Sribnyak,
количество столбцов было для примера, данный массив я буду использовать в SSRS, далее уже определю необходимое количество столбцов для красивого отображения.

Спасибо за решение.
10 апр 19, 10:53    [21858064]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить