Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / select слепить две строки / 25 сообщений из 53, страница 1 из 3
12.07.2016, 21:12:28
    #39272691
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
подскажите, пожалуйста, как слепить две и более строки по одной одинаковой колонке ?

например :
ккк 88 99 10
ккк 77 55 33
ккк ггг 4 ццц


у всех трех строк одинакова колонка со значением ккк, а остальные значения разные, Как слепить?
фукнции агрегации не нужны
...
Рейтинг: 0 / 0
12.07.2016, 21:21:22
    #39272693
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
точнее у меня даже не так

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

и получается , что там, где есть значение в одном поле- всегда пусто для этого же значения в другой строке

ккк 666 null null
kkk null 888 null
kkk null null 777


вот так
...
Рейтинг: 0 / 0
12.07.2016, 21:25:07
    #39272695
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
можно было бы наверное аналитическими функциями, брать значение ферст валуе, предсварительно сделав сортировку по типу- значения desc nulls last и брать первую строку,

а еще же это все потом дистинктом надо прибить

а запрос просто большенный, и все , он умрет, это я вам гарантирую :(
...
Рейтинг: 0 / 0
12.07.2016, 21:26:36
    #39272696
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
помогите !!!
...
Рейтинг: 0 / 0
12.07.2016, 21:31:33
    #39272699
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Альонкафукнции агрегации не нужны
Функции во множественном числе и не нужны. Достаточно одной - MAX().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
12.07.2016, 21:41:03
    #39272701
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Dimitry Sibiryakov,
мах по одной строке, которая схлопнет другие , тк они null ?

дело в том, что у меня 27 колонок и 10 из них аналитические функции (как раз те значение которые мне нужно схлопнуть),
в секции групп бай будет катавасия......... если все это туда засунуть
...
Рейтинг: 0 / 0
12.07.2016, 21:53:31
    #39272708
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Альонка,
а сделать подзапрос- подучается будет три подзапроса в подзапросе
...
Рейтинг: 0 / 0
12.07.2016, 22:38:16
    #39272717
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
очень сильно опечалена тем фактом, что нет ответов :(
...
Рейтинг: 0 / 0
12.07.2016, 22:56:03
    #39272719
dmdmdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Альонкаочень сильно опечалена тем фактом, что нет ответов :(

Огорчаться - это на здоровье.

Предоставьте тестовые данные с пояснениями (четкими, а не как у вас), как из исходных данных получаются конечные - вот залог ответа.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
with t as
(
  select 'str' str, 666 val1, null val2, null val3 from dual
   union all
  select 'str' str, 111 val1, 888 val2, null val3 from dual
   union all
  select 'str' str, null val1, 222 val2, 777 val3 from dual
)

select str, max(val1) val1, max(val2) val2, max(val3) val3 from t
 group by str
...
Рейтинг: 0 / 0
13.07.2016, 07:29:14
    #39272775
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Альонкапомогите !!!Неврастеничка, успокоилась? - http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM
...
Рейтинг: 0 / 0
13.07.2016, 09:34:24
    #39272802
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Elic,
у меня на работе чет доступ запрещен
...
Рейтинг: 0 / 0
13.07.2016, 09:36:40
    #39272804
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Альонкау меня на работе чет доступ запрещенТогда попроси закрыть доступ и сюда и спокойно работай.
...
Рейтинг: 0 / 0
13.07.2016, 09:42:30
    #39272811
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Elic,

та это же полезный ресурс для работы :) или я что-то путаю?
...
Рейтинг: 0 / 0
13.07.2016, 09:44:32
    #39272817
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Альонкаили я что-то путаю?Тебе - не поможет.
...
Рейтинг: 0 / 0
13.07.2016, 10:01:49
    #39272831
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Elic,

поможет.

уже же раз помогли, рассказали про FGAC , мы даж применили . и у нас все сработало :) так что наговариваете
...
Рейтинг: 0 / 0
13.07.2016, 10:02:23
    #39272833
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
АльонкаElic,

поможет.

уже же раз помогли, рассказали про FGAC , мы даж применили . и у нас все сработало :) так что наговариваете

http://www.sql.ru/forum/1214648-1/rabota-s-sninonimami
...
Рейтинг: 0 / 0
13.07.2016, 10:28:11
    #39272850
Jonhson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
жёсткий треш. Скажи в какой конторы ты работаешь, что-бы обходить её стороной )))


А по делу - каким образом связано

Код: plsql
1.
2.
3.
ккк 88 99 10
ккк 77 55 33
ккк ггг 4 ццц



и

Код: plsql
1.
2.
3.
ккк 666 null null
kkk null 888 null
kkk null null 777


\я не понимаю.
...
Рейтинг: 0 / 0
13.07.2016, 10:29:35
    #39272852
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Jonhson,
что именно непонятно?

на первый пример не смотрите, смотрите на второй, с null-ами

какую связь вы ищете ? показала пример в упрощенном виде, какой у меня есть
...
Рейтинг: 0 / 0
13.07.2016, 10:33:44
    #39272857
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
dmdmdmАльонкаочень сильно опечалена тем фактом, что нет ответов :(

Огорчаться - это на здоровье.

Предоставьте тестовые данные с пояснениями (четкими, а не как у вас), как из исходных данных получаются конечные - вот залог ответа.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
with t as
(
  select 'str' str, 666 val1, null val2, null val3 from dual
   union all
  select 'str' str, 111 val1, 888 val2, null val3 from dual
   union all
  select 'str' str, null val1, 222 val2, 777 val3 from dual
)

select str, max(val1) val1, max(val2) val2, max(val3) val3 from t
 group by str


ваш вариант я еще вчера применила, но пришлось вынести искомый запрос в подзапрос (тк некоторые колонки- это самостоятельные тоже нехилые селекты и выносить это в секцию груп бай не представляется возможным). И в итоге полуился монстр с выборкой из кучи таблиц и двух подзапросов, и все это еще сверху обернуто в подзапрос

в такой формулировке как у меня возможно ли предложить еще варианты , кроме груп бай и maх?
...
Рейтинг: 0 / 0
13.07.2016, 10:43:16
    #39272867
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
изначально это был страшный селектище, попросили добавить в него еще колонки .... Которые являются самостоятельными большими выборками.

Добавила аналитику, но получилось плохо. Скорее всего, вообще эту задачку не реализовать нормально при помощи запроса, надо другой подход к реализации.

Но мало ли, ну а вдруг.. может, вы сможете мне подсказать способ, как волшебно оптимизировать селект :Н)
...
Рейтинг: 0 / 0
13.07.2016, 11:07:21
    #39272886
select слепить две строки
Альонка,

ты бы уже давно показала бы свои сиськи мегазапросы. Глядишь, кто и подсказал бы чего. А пока идет обсуждение непонятного сферического коня в вакууме. Причем, с твоего описания он больше похож на куб или пирамиду, чем на сферу.
...
Рейтинг: 0 / 0
13.07.2016, 11:13:22
    #39272889
Jonhson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
может быть with либо view спасёт барышню от мегазапросов?
...
Рейтинг: 0 / 0
13.07.2016, 11:18:02
    #39272897
select слепить две строки
Альонкадело в том, что у меня 27 колонок и 10 из них аналитические функции (как раз те значение которые мне нужно схлопнуть)есть мнение, что использование аналитики для получения агрегатного результата - немного быдлокодерский подход...
...
Рейтинг: 0 / 0
13.07.2016, 11:51:37
    #39272938
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Добрый Э - Эх,

там суть в том, что у всех колонок с аналитикой базовый селект один (состоящий из нескольких таблиц и двух подзапросов), а группировка, в разрезе которой надо получить агрегат, разная: тип сообщения, привязка к счету и наличие в тексте сообщения определенных тегов, а для третьей группы еще одно условие группировки. Поэтому, груп бай использовать не получилось


и плюс к этим колонкам с аналитикой добавляется еще куча колонок, в которых самостоятельные селекты, которые привязаны к id счета (то есть выводится куча инфы по финансовому счету)
...
Рейтинг: 0 / 0
13.07.2016, 11:51:56
    #39272940
Альонка
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select слепить две строки
Jonhson,
хм..
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / select слепить две строки / 25 сообщений из 53, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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