Обсуждение: Поворот резултата запроса на 90 градусов вправо

Поиск
Список
Период
Сортировка

Поворот резултата запроса на 90 градусов вправо

От
Алексей Резник
Дата:
Здравствуйте, подскажите, пожалуйста, как решить проблему.
Есть запрос, который выводит следующее:

col1   |   col2
___________

A       |   значение1
B       |   наименование1
C       |   вид1
D       |   пользователь1
                                                           -- тут нет пробела, это для наглядности восприятия
A       |   значение2
B       |   наименование2
C       |   вид2
D       |   пользователь2

A       |   значение3
B       |   наименование3
C       |   вид3
D       |   пользователь3


В итоге нужно его преобразовать, чтобы на выходе был результат с фиксированным количеством колонок,
но различным при каждом запросе количеством строк (в этом конкретном примере их 3):

         A         |              B                |       C     |                 D
____________________________________________________
значение1   |   наименование1   |   вид1    |    пользователь1
значение2   |   наименование2   |   вид2    |    пользователь2
значение3   |   наименование3   |   вид3    |    пользователь3







--
Алексей Резник

Re: [pgsql-ru-general] Поворот резултата запроса на 90 градусов вправо

От
"Shulgin, Oleksandr"
Дата:
2016-01-26 14:28 GMT+01:00 Алексей Резник <lekha4353@mail.ru>:
Здравствуйте, подскажите, пожалуйста, как решить проблему.
Есть запрос, который выводит следующее:

col1   |   col2
___________

A       |   значение1
B       |   наименование1
C       |   вид1
D       |   пользователь1
                                                           -- тут нет пробела, это для наглядности восприятия
A       |   значение2
B       |   наименование2
C       |   вид2
D       |   пользователь2

A       |   значение3
B       |   наименование3
C       |   вид3
D       |   пользователь3


В итоге нужно его преобразовать, чтобы на выходе был результат с фиксированным количеством колонок,
но различным при каждом запросе количеством строк (в этом конкретном примере их 3):

         A         |              B                |       C     |                 D
____________________________________________________
значение1   |   наименование1   |   вид1    |    пользователь1
значение2   |   наименование2   |   вид2    |    пользователь2
значение3   |   наименование3   |   вид3    |    пользователь3

Что-то очень похожее на crosstab(): http://www.postgresql.org/docs/current/static/tablefunc.html

--
Alex



26 января 2016 г., 16:28 пользователь Алексей Резник <lekha4353@mail.ru> написал:
Здравствуйте, подскажите, пожалуйста, как решить проблему.
Есть запрос, который выводит следующее:

col1   |   col2
___________

A       |   значение1
B       |   наименование1
C       |   вид1
D       |   пользователь1
                                                           -- тут нет пробела, это для наглядности восприятия
A       |   значение2
B       |   наименование2
C       |   вид2
D       |   пользователь2

A       |   значение3
B       |   наименование3
C       |   вид3
D       |   пользователь3


В итоге нужно его преобразовать, чтобы на выходе был результат с фиксированным количеством колонок,
но различным при каждом запросе количеством строк (в этом конкретном примере их 3):

         A         |              B                |       C     |                 D
____________________________________________________
значение1   |   наименование1   |   вид1    |    пользователь1
значение2   |   наименование2   |   вид2    |    пользователь2
значение3   |   наименование3   |   вид3    |    пользователь3

См. crosstab.
contrib/tablefunc  тебе в помощь


2016-01-26 16:28 GMT+03:00 Алексей Резник <lekha4353@mail.ru>:
Здравствуйте, подскажите, пожалуйста, как решить проблему.
Есть запрос, который выводит следующее:

col1   |   col2
___________

A       |   значение1
B       |   наименование1
C       |   вид1
D       |   пользователь1
                                                           -- тут нет пробела, это для наглядности восприятия
A       |   значение2
B       |   наименование2
C       |   вид2
D       |   пользователь2

A       |   значение3
B       |   наименование3
C       |   вид3
D       |   пользователь3


В итоге нужно его преобразовать, чтобы на выходе был результат с фиксированным количеством колонок,
но различным при каждом запросе количеством строк (в этом конкретном примере их 3):

         A         |              B                |       C     |                 D
____________________________________________________
значение1   |   наименование1   |   вид1    |    пользователь1
значение2   |   наименование2   |   вид2    |    пользователь2
значение3   |   наименование3   |   вид3    |    пользователь3







--
Алексей Резник