Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как сделать такое ? Crosstab ? Или как ? / 4 сообщений из 4, страница 1 из 1
25.09.2019, 13:56
    #39866866
Perederiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать такое ? Crosstab ? Или как ?
Есть таблица

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
25.09.2019, 16:14
    #39866969
user_t0
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать такое ? Crosstab ? Или как ?
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
25.09.2019, 17:28
    #39867016
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать такое ? Crosstab ? Или как ?
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
29.09.2019, 14:19
    #39868628
torbasow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать такое ? Crosstab ? Или как ?
Perederiy,

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


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