powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как сделать такое ? Crosstab ? Или как ?
4 сообщений из 4, страница 1 из 1
Как сделать такое ? Crosstab ? Или как ?
    #39866866
Perederiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица

n v1 v2 v3 v4 v5

1 11 222 22 4444 55
1 112 3 0 0 8
2 66 1 7 7 8
3 77 3 7 11 0

Надо получить

n v1_1 v2_1 v3_1 v4_1 v5_1 v1_2 v2_2 v3_2 v4_2 v5_2
1 11 222 22 4444 55 112 3 0 0 8
2 66 1 7 7 8
3 77 3 7 11 0

Читаю crosstab и не понимаю как такое сделать. Или я на неправильном пути ?
...
Рейтинг: 0 / 0
Как сделать такое ? Crosstab ? Или как ?
    #39866969
user_t0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PerederiyЕсть таблица

n v1 v2 v3 v4 v5

1 11 222 22 4444 55
1 112 3 0 0 8
2 66 1 7 7 8
3 77 3 7 11 0

Надо получить

n v1_1 v2_1 v3_1 v4_1 v5_1 v1_2 v2_2 v3_2 v4_2 v5_2
1 11 222 22 4444 55 112 3 0 0 8
2 66 1 7 7 8
3 77 3 7 11 0

Читаю crosstab и не понимаю как такое сделать. Или я на неправильном пути ?

Может быть кросджоин имелся ввиду?

SELECT * FROM table1, table2
...
Рейтинг: 0 / 0
Как сделать такое ? Crosstab ? Или как ?
    #39867016
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Perederiy,

максимальное число записей с одинаковыми n фиксировано ?

если да ,
то можно примерно в эту сторону ~

Код: sql
1.
2.
3.
4.
5.
select n,v1_[1] ,v2_[1],v3_[1],v1_[2],v2_[2],v3_[2] -- [,....] generate script 4 max(cardinality(v1_))
from 
(select n, array_agg(v1) v1_, array_agg(v2) v2_, array_agg(v3) v3_ 
FROM thetable 
group by n) foo
...
Рейтинг: 0 / 0
Как сделать такое ? Crosstab ? Или как ?
    #39868628
Фотография torbasow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Perederiy,

у Вас 11 столбцов, а значений во второй и третьей строчках только шесть, что это за выборка такая?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как сделать такое ? Crosstab ? Или как ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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