Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / однотипные столбцы сделать строками / 19 сообщений из 19, страница 1 из 1
08.06.2017, 12:59
    #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
08.06.2017, 12:59
    #39468543
однотипные столбцы сделать строками
Ozornitca,

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

unpivot

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

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

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

0) UNPIVOT - фича СУБД, а не прикладной системы в ней вращающейся. х.з. к чему тут упоминается АнтиБлокировочная Система тормозов :)
1) джойн исходной таблички на четырехстрочную таблицу и раскидывание полей в селект-листе при помощи CASE (получится самодельный аналог UNPIVOT)
2) четыре запроса к исходной таблице с выбором нужных полей + UNION ALL результатов этих выборок.
...
Рейтинг: 0 / 0
08.06.2017, 13:18
    #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
08.06.2017, 13:53
    #39468615
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
однотипные столбцы сделать строками
Добрый Э - ЭхOzornitca,

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

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

1),2) ну.... некрасиво же ))
...
Рейтинг: 0 / 0
08.06.2017, 13:54
    #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
08.06.2017, 13:57
    #39468619
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
однотипные столбцы сделать строками
Ozornitca,

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

так что я сейчас не так сильно ругаю цфт, как делала это раньше
...
Рейтинг: 0 / 0
08.06.2017, 14:58
    #39468717
env
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
08.06.2017, 15:03
    #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
08.06.2017, 15:16
    #39468740
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
однотипные столбцы сделать строками
все, мне все надоело

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

знают , встречалось уже
...
Рейтинг: 0 / 0
08.06.2017, 15:22
    #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
08.06.2017, 15:24
    #39468754
Ozornitca
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
однотипные столбцы сделать строками
да все.. не хочу !

сделаю

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


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