powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как сделать хитрый pivot?
1 сообщений из 1, страница 1 из 1
Как сделать хитрый pivot?
    #37528924
Всем добрый день.

Adaptive Server Enterprise/15.0.2/EBF 15967 ESD#6/P/x86_64/Enterprise Linux/ase1502/2537/64-bit/FBO/

Кто сталкивался и как решал :
Есть набор вида
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
obj_id   type_id  pos  name                  count_key
-------- -------- ---- --------------------- ---------
2325213  1        1    замок капота №1       1
2325213  1        1    замок капота №2       2
2325213  2        2    замок КПП             3
2325213  3        3    доп. иммобилайзер №1  4
2325213  3        3    иммобилайзер №2       5
2325213  8        4    Спутник ищет          6
2325213  16       5    (null)                3

2325260  3        3    Иммобилайзер доп.     3
2325260  8        4    Поисковая спутн. сис. 2
2325260  16       5    (null)                (null)

необходимо развернуть (pivot) набор горизонтально и получить следующее
Код: plaintext
1.
2.
3.
4.
5.
obj_id   name_1           keys_1 type_1 name_2     keys_2 type_2 name_3                keys_3 type_3 name_4           keys_4 type_4 name_5  keys_5 type_5
-------- ---------------- ------ ------ ---------- ------ ------ --------------------  ------ ------ ---------------- ------ ------ ------- ------ ------
2325213  замок капота №1  1      1      замок КПП  3      2      доп. иммобилайзер №1  4      3      Спутник №12      6      8      (null)  3      16
2325213  замок капота №2  2      1      (null)     (null) 2      иммобилайзер №2       5      3      (null)           (null) 8      (null)  (null) 16
2325260  (null)           (null) 1      (null)     (null) 2      Иммобилайзер доп.     3      3      Поиск. спут. сис 2      8      (null)  (null) 16

т.е. сгруппировать по obj_id (записи) и по type_id (группы полей вида name_X,keys_X,type_X), при этом кол-во записей для obj_id будет равно максимальному кол-ву записей в однотипной группе по type_id. Надеюсь задачу объяснил понятно. Вот такой вот хитрый разворот. Можно ли сделать запросом, как сделать курсором и так понятно.

Спасибо.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как сделать хитрый pivot?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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