powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / однотипные столбцы сделать строками
19 сообщений из 19, страница 1 из 1
однотипные столбцы сделать строками
    #39468539
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добрый день,

подскажите пожалуйста

выборка,
первые 4 столбца оставить, а остальные 4 одинаковый тип, но разные данные

хотелось бы сделать так :

допустим , исходная строка:
1 2 3 4 5 6 7 8

надо сделать:
1 2 3 4 5
1 2 3 4 6
1 2 3 4 7
1 2 3 4 8


можно ли ?
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468543
Ozornitca,

unpivot
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468547
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - ЭхOzornitca,

unpivot

да я уж икала пример в нашей АБС (авт банковской системе), прежде чем создать тему, с пивотами

но не нашла, следовательно. АБС скорее всего не поддерживает этот оператор

а по-другому можно?
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468563
Ozornitca,

0) UNPIVOT - фича СУБД, а не прикладной системы в ней вращающейся. х.з. к чему тут упоминается АнтиБлокировочная Система тормозов :)
1) джойн исходной таблички на четырехстрочную таблицу и раскидывание полей в селект-листе при помощи CASE (получится самодельный аналог UNPIVOT)
2) четыре запроса к исходной таблице с выбором нужных полей + UNION ALL результатов этих выборок.
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468570
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ozornitca,

"Не нашла" а значит "не поддерживается" ну я бы так критично не говорил, может никому не надо было =)

Код: plsql
1.
2.
3.
4.
5.
6.
with t as(
select 1 n1, 2 n2, 3 n3, 4 n4, 5 n5, 6 n6 from dual )

select n1, n2, n3, n4
from t
unpivot (n4 for sk in (n4 as 1, n5 as 2, n6 as 3))



могил бы придумать
Код: plsql
1.
2.
3.
select n1, n2, n3, n4 from t union all
select n1, n2, n3, n5 from t union all
select n1, n2, n3, n6 from t
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468615
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - ЭхOzornitca,

0) UNPIVOT - фича СУБД, а не прикладной системы в ней вращающейся. х.з. к чему тут упоминается АнтиБлокировочная Система тормозов :)
1) джойн исходной таблички на четырехстрочную таблицу и раскидывание полей в селект-листе при помощи CASE (получится самодельный аналог UNPIVOT)
2) четыре запроса к исходной таблице с выбором нужных полей + UNION ALL результатов этих выборок.

0) среда разработки -то своя, хоть она и на пл скл - многие возможности не поддерживаются )
model например , по-моему, нет )

1),2) ну.... некрасиво же ))
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468617
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximaXXLOzornitca,

"Не нашла" а значит "не поддерживается" ну я бы так критично не говорил, может никому не надо было =)

Код: plsql
1.
2.
3.
4.
5.
6.
with t as(
select 1 n1, 2 n2, 3 n3, 4 n4, 5 n5, 6 n6 from dual )

select n1, n2, n3, n4
from t
unpivot (n4 for sk in (n4 as 1, n5 as 2, n6 as 3))



могил бы придумать
Код: plsql
1.
2.
3.
4.
5.
select n1, n2, n3, n4 from t union all
select n1, n2, n3, n5 from t union all
select n1, n2, n3, n6 from t

эх, с union так некрасиво , ппц просто))
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468619
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ozornitca,

Тебе шашечки или ехать?

Решение ВНЕ ограничений твоей IDE/ORM для АБС - unpivot.

Если IDE ограничивает список операторов, то придётся брать "некрасиво же" или менять постановку задачи, как не имеющую возможности корректной реализации средствами имеющейся IDE.

з.ы. точно не ЦФТ-шная поделка?
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468626
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envOzornitca,

Тебе шашечки или ехать?

Решение ВНЕ ограничений твоей IDE/ORM для АБС - unpivot.

Если IDE ограничивает список операторов, то придётся брать "некрасиво же" или менять постановку задачи, как не имеющую возможности корректной реализации средствами имеющейся IDE.

з.ы. точно не ЦФТ-шная поделка?

да цфт это, цфт

ага :(
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468632
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envOzornitca,


з.ы. точно не ЦФТ-шная поделка?

а что ?
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468665
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ozornitca
1),2) ну.... некрасиво же ))


... connect by level<5 ...
красиво?

.....
stax
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468684
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ozornitca,
цфт это
соболезную
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468702
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envOzornitca,
цфт это
соболезную

ну в целом вы правы..

хотя я тут поработала в некоем пенсионном фонде, довольно известном, и еще в паре организаций- так вот архитектура цфт по сравнению с архитектурой их самописных систем - просто идеальна

так что я сейчас не так сильно ругаю цфт, как делала это раньше
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468717
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ozornitca,

при создании очередных своих тем сразу указывай, что ограничена возможностями поделки от ЦФТ, всем проще будет.

stax..,
ох не всегда оно так красиво работает - это самое connect by level < N, особенно если на выходе поделки получится конструкция вида
Код: plsql
1.
2.
3.
4.
select dbms_random.value id, dbms_random.string('p',10) str, t.a
from (select 1 a from dual union all
       select 2 from dual) t
connect by level <= 10
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468726
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envOzornitca,

при создании очередных своих тем сразу указывай, что ограничена возможностями поделки от ЦФТ, всем проще будет.

stax..,
ох не всегда оно так красиво работает - это самое connect by level < N, особенно если на выходе поделки получится конструкция вида
Код: plsql
1.
2.
3.
4.
select dbms_random.value id, dbms_random.string('p',10) str, t.a
from (select 1 a from dual union all
       select 2 from dual) t
connect by level <= 10



честно говоря, вообще удивлена, что здесь знают слово цфт
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468740
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все, мне все надоело

гори все синим пламенем !
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468741
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ozornitca,

знают , встречалось уже
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468752
stax..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envOzornitca,

при создании очередных своих тем сразу указывай, что ограничена возможностями поделки от ЦФТ, всем проще будет.

stax..,
ох не всегда оно так красиво работает - это самое connect by level < N, особенно если на выходе поделки получится конструкция вида
Код: plsql
1.
2.
3.
4.
select dbms_random.value id, dbms_random.string('p',10) str, t.a
from (select 1 a from dual union all
       select 2 from dual) t
connect by level <= 10



не понял

зи
не знаком цфт
pss
я не агитирую за connect by, просто как еще один вариант к непонравившимся Ozornitc-е 1) 2)

....
stax
...
Рейтинг: 0 / 0
однотипные столбцы сделать строками
    #39468754
Фотография Ozornitca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да все.. не хочу !

сделаю

row+1 и так 4 раза при записи в table of
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / однотипные столбцы сделать строками
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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