powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SELECT : вопрос к гуру :)
46 сообщений из 46, показаны все 2 страниц
SELECT : вопрос к гуру :)
    #32147091
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
Подскажите, кто знает, как решить следующую проблему:

Cуществует таблица с данными, например TBL1.
Она связана с справочниками STBL1, STBL2, STBL3...
Связь TBL1->STBL1 = 1-ко многим, TBL1->STBL2 = 1-ко многим ...

Но особенность ситуации заключается в следующем:
каждай запись таблицы TBL1 связана ИЛИ c STBL1 ИЛИ с STBL2 ...

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

Вопрос состоит в следующем:
~~~~~~~~~~~~~~~~~~~
1. Как правильно построить структуру БД для данного случая,
в принципе, можно рассматривать несколько вариантов, но мне
почему-то ни один не нравится :)
2. Как построить эффективный SELECT для вибора данных с таблиц TBL1, STBL1 ?
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147107
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одно и тоже поле связано в одной и той же таблице связано с
несколькими справочниками? Т.е. выбор значения поля одно из значений
хотя бы в одной справочной таблице?
Я правильно понял?
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147111
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
В принцыпе да.
Но в вашем вопросе - содержится сразу и предложение
определенной структуры (одного из вариантов)
Но логически - именно так.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147127
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Несколько сущностей например с двумя полями:
ссылка на журнал операций и ссылка на требуемый справочник.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147128
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понятна ситуация когда это необходимо.

На вскидку в журнал попадают счета и платежки
и те и другие имеют разные структуры
но должна попадать в одно и тоже поле

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

Второй вариант вешать триггер на обновление журнала и в нем разбирать является ли данное значение допустимым или нет. Программный форейн констрент. Ухудшает скорость внесения в журнал.

Третьий вариант. Наплевать на непрерывную целостность данных и отлавливать некорректные строки через JOB. Это в принципе хорошо прокатывает только когда журнал и заполняется пакетными заданиями а не по пользовательскому произволу.

По моему так
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147133
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но вообще это плохо.

Самым правильным вариантом был бы один большой справочник в котором было бы всё, но бог велел делиться.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147146
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
Браво ! (на счет общего справочника)
Во многих случаях так и решают.
Но это несколько сложно в случае если справочники
имеют совершенно различние структуры (сущности), например:
Люди
Предприятия
Материалы
...
Именно так дела обстоят на практике.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147147
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что это за поле где хранятся и люди и материалы и предприятия
Я просто ТАКОГО представить не могу.
Опиши бизнесс процесс.
Может что придумать можно
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147148
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем не устраивает предложенный мной вариант?
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147153
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 MW

Не как связать это просто. Длается поле указатель на соответсвующую сущность и через него коннектишся. Здесь все согласны.
На это завязаны все возможные варианты.
Другое дело где эту сущность хранить и как обрабатывать.

Думаю имелось ввиду что-то вроде Junction Table но в данном случае от её наличия или отсутствия ничего не меняется. Грабли всё равно остаются.

Или я чего не понял.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147156
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
Приведу простой пример:
Он хорошо известен разроботчикам различных учетных задач:

cуществует "журнал операций"
1.Количество (Дебет, Кредит)
2.Сума (Дебет, Кредит)
3.Аналитика (Люди,Предприятия,Материалы и т.д)

В эту таблицу попадают бухгалтерские проводки, которые формируются различными документами (чево-то типа таблицы фактов OLAP).

Аналитика- это различные справочныки (в т.ч. многоуровнивые).

Вот и весь бизнес-процесс.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147164
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут все просто. Если я правильно понял проблема в подцеплении аналитического учета?
В журнал операций добывляется код аналитики (1-материалы, 2 - персонал и т.п), и поле которое будет содержать значение аналитики (код из справочника никак не привязанный к нему, но это для ускорения, т.е. можно и не делать). Далее делается по промежуточной таблице для каждого справочника запись в этих таблицах содержит ссылку на строку журнала операций и на требуемую строку справочника. И заполняется триггером при вставке записи в журнал операций (отношение один к одному).
Ведь выборки по разным аналитическим данным _обычно_ не делаются. В данном случае выборку по журналу операций указав код аналитического учета сделать очень просто.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147165
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогад MW наверное прав

1) Сделать Junction TABLE
в ней хранить все возможные типы аналитики много строк, мало собственно информации.
2) заполнять Junction TABLE пакетным заданием из нормальных справочников
3) и классический FK
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147169
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
Наверное я или немогу описать проблему или она действительно неразрешима ????
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147170
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Последний раз мы с MW поняли тебя одинаково.

Задача красиво действительно неразрешима.

Но решение работающее вполне есть см выше.
Чем не устраивают предложенные.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147172
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>> Eter Panji
Еще раз браво !
Это очень близко к решению, к которому я пришел.
Но я извеняють за невежество, что такое Junction TABLE ?
Как сопровождать Junction TABLE ? Триггерами ?
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147174
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Ключевая фраза":
Промежуточная таблица не одна а несколько:

MAINBOOK( ID, VID) -- журнал операций VID = 1 для персонала, =2 для материалов
LINK_PERSONAL( PERSONAL_ID, MAINBOOK_ID)
LINK_MATERIAL( MATERIAL_ID, MAINBOOK_ID)
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147178
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в данном случае
JUNCTION TABLE - журнал всех типов аналитики

Если исходные таблицы-справочники заполняются редко то самое лучшее
поставить JOB который с какой-то периодичностью будет синхронизировать справочники и JUNCTION TABLE

Если часто тогда действительно лучше триггерами на справочниках.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147179
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем несколько?
Выигрыш будет небольшой,
или ...
это получится отношение многие ко многим?
А зачем оно вообще нужно в данном контексте.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147180
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>All
Спасибо огромное !
Мне действительно некоторые вещи стали более понятны.
В особенности, у меня исчезно какоето-болезненное
впечатление, что я никак не могу просто и эффективно (без промежуточных таблиц ) решить это проблему.
На самом деле, наверное действително так ее решить невозможно.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147183
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А невозможно разные сущности свести к одной ссылке, нарушается целостность данных.
И скажите мне в каких случаях может потребоватся запрос на одновременный вывод данных по разным видам аналитического учета?
И даже в этом случае можно выйти из положения по предложенной схеме. И не требуется никаких обновлений.
Отношение один к одному, вставка в промежуточную таблицу при сохранении документа и создании записи в журнале операций, ведь заранее известно какой документ какие виды аналитики на себе несет.
А если схема данных организована еще грамотнее (на полупроводках), то это еще снимет массу головной боли в последствии.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147185
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>И скажите мне в каких случаях может потребоватся запрос на >одновременный вывод данных по разным видам аналитического учета?

Просто вывести на экран (отчет) журнал операций. И все.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147187
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там требуется вывод аналитики?
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147190
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
В принципе, да. Т не только там.
То же самое - любой бухгалтерский документ: например, акт о приеме материалов - там тоже присутствует аналитика.
И когда необходимо высести "журнал документов", в нем есть поле :
от кого получено, кому передано и т.д.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147193
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не вопрос:

select m.id, m.vid, m.summa, mt.name
from mainbook m, link_material lm, material mt
where m.id = lm.mainbook_id
and m.vid = 1
and lm.material_id = mt.id
union
select m.id, m.vid, m.summa, p.name
from mainbook m, link_personal lp, personal p
where m.id = lp.mainbook_id
and m.vid = 2
and lp.personal_id = p.id
union
и т.п
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147194
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>MW
Ес !
Да...Это просто супер !
UNION !!!!!
Но есть одна проблема - ПРОДУКТИВНОСТЬ = 0 !!!
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147195
Фотография Eter Panji
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MW
тот же разрыв только у меня он между
общим справочником и отдельными справочниками
а
у вас между журналом и всомогательными справочниками.

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

Я же говорю это разница между первым и вторым из моего поста от 19-08
Где хочешь иметь тормоза там и имеешь.

Мне всё таки кажется что мой вариант здесь удачнее поскольку справочники меняются относительно редко а вот журнал обновляется на порядок чаще.

А то что могут удалить строку справочника, так это варварство. По бизнесс логике неположено. Значить можно просто запретить на уровне базы удалять строки и изменять ключевые поля в справочниках.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147196
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы не правы! Если вы повнимательнее взглянете на условие каждого запроса то поймете что тем не менее одна запись таблицы обрабатывается один раз и если построить индекс на ID и VID вы получите более высокую производительность чем если возметесь совмещать справочники.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147197
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>MW
А что если результат нужно отсортировать ?
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147198
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И лучше пусть оператор подождет полсекунды при записи документа в базу чем по пол секунды при выборке каждой строки из 20 тысяч например
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147199
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>MW
поправочка : 20 миллионов, например.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147200
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем более...
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147201
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>MW
Так ка на счет
select * from
(
select m.id, m.vid, m.summa, mt.name
from mainbook m, link_material lm, material mt
where m.id = lm.mainbook_id
and m.vid = 1
and lm.material_id = mt.id
union
select m.id, m.vid, m.summa, p.name
from mainbook m, link_personal lp, personal p
where m.id = lp.mainbook_id
and m.vid = 2
and lp.personal_id = p.id
union
и т.п
) t order by 0,1,... ????
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147202
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>Eter Panji
Дело в том, что сейчас наша система работает так, как предложил MW.
А собираемся перейти на вариант, предложенный вами.
Но... очень большие сомнения существуют :)
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147203
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А побробовать сначала и посмотреть на план запроса и скорость исполнения?
Вашу модель данных это никак не нарушит.
В реальности полный журнал операций с выложенной разношерстной аналитикой никогда не требуется.
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147205
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>MW
На счет планов запросов - все глаза просмотрели :)
Как-то по дурацки получается : если присутствует UNION добится использования индексов никак не получается.
Что касается остального - пост 14 !
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147209
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>MW

Я не согласен, что "В реальности полный журнал операций с выложенной разношерстной аналитикой никогда не требуется". Достаточно посмотреть
любую готовую систему, ту же 1С, например : первое, что мы видим, это
как-раз "журнал операций с выложенной разношерстной аналитикой" !!!
Там даже монятие есть такое : "виды субконто" (читай : виды аналитики).
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147279
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ludi!!
Ispol'zyite Oracle's analytic functions i ne stroite problemy,
kotorye potom neobhodimo geroicheski preodolevat'!
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147319
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to ov
>ту же 1С, например : первое, что мы видим, это
>как-раз "журнал операций с выложенной разношерстной аналитикой" !!!

А вы пробовали 1с на 20 млн записей?
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147346
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>>MW

Да, 1С на 20млн - это нонсенс. Дело в том что там не существует
так называемой "виртуализации", тоесть весь журнал выбирается
за один раз.

Но то же самое - любой бухгалтерский документ: например, акт о приеме материалов - там тоже присутствует аналитика.
И когда необходимо высести "журнал документов", в нем есть поле :
от кого получено, кому передано (Аналитика) и т.д.

Что в этом случае делать ?


>Oracle X-pert
Просветите, если можно, что такое "analytic functions". С удовольствием
исползуем, если в природе такое есть :)
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147367
MW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> ov
>Что в этом случае делать ?

Дальнейшее продолжение спора _здесь_ сильно отвлекает от основной работы. :(((
Если у вас есть желание можно продолжить по e-mail или ICQ.
merlinw@yandex.ru
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147371
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>MW
Да, согласен. По емайлу
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147393
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT channel_desc, calendar_month_desc,
TO_CHAR(TRUNC(SUM(amount_sold),-6), '9,999,999,999') SALES$,
TO_CHAR(SUM(quantity_sold), '9,999,999,999') SALES_Count,
RANK() OVER (ORDER BY trunc(SUM(amount_sold), -6) DESC, SUM(quantity_sold)
DESC) AS col_rank
FROM sales, products, customers, times, channels
WHERE sales.prod_id=products.prod_id AND
sales.cust_id=customers.cust_id AND
sales.time_id=times.time_id AND
sales.channel_id=channels.channel_id AND
times.calendar_month_desc IN ('2000-09', '2000-10') AND
channels.channel_desc<>'Tele Sales'
GROUP BY channel_desc, calendar_month_desc;
-----
SELECT channel_desc, calendar_month_desc,
TO_CHAR(TRUNC(SUM(amount_sold),-6), '9,999,999,999') SALES$,
RANK() OVER (ORDER BY trunc(SUM(amount_sold),-6) DESC)
AS RANK,
DENSE_RANK() OVER (ORDER BY TRUNC(SUM(amount_sold),-6) DESC)
AS DENSE_RANK
FROM sales, products, customers, times, channels
WHERE sales.prod_id=products.prod_id AND
sales.cust_id=customers.cust_id AND
sales.time_id=times.time_id AND
sales.channel_id=channels.channel_id AND
times.calendar_month_desc IN ('2000-09', '2000-10') AND
channels.channel_desc<>'Tele Sales'
GROUP BY channel_desc, calendar_month_desc;
----
SELECT channel_desc, country_id,
TO_CHAR(SUM(amount_sold), '9,999,999,999') SALES$,
RANK() OVER (PARTITION BY GROUPING_ID(channel_desc, country_id)
ORDER BY SUM(amount_sold) DESC) AS RANK_PER_GROUP
FROM sales, customers, times, channels
WHERE sales.time_id=times.time_id AND
sales.cust_id=customers.cust_id AND
sales.channel_id= channels.channel_id AND
channels.channel_desc IN ('Direct Sales', 'Internet') AND
times.calendar_month_desc='2000-09'
AND country_id IN ('UK', 'US', 'JP')
GROUP BY CUBE( channel_desc, country_id);
------
SELECT calendar_year AS YEAR, calendar_quarter_number AS QTR,
calendar_month_number AS MO, SUM(amount_sold),
RANK() OVER (ORDER BY SUM(amount_sold) ASC NULLS FIRST) AS NFIRST,
RANK() OVER (ORDER BY SUM(amount_sold) ASC NULLS LAST) AS NLASST,
RANK() OVER (ORDER BY SUM(amount_sold) DESC NULLS FIRST) AS NFIRST_DESC,
RANK() OVER (ORDER BY SUM(amount_sold) DESC NULLS LAST) AS NLAST_DESC
FROM (
SELECT sales.time_id, sales.amount_sold, products.*, customers.*
FROM sales, products, customers
WHERE
sales.prod_id=products.prod_id AND
sales.cust_id=customers.cust_id AND
prod_name IN ('Ruckpart Eclipse', 'Ukko Plain Gortex Boot')
AND country_id ='UK') v, times
WHERE v.time_id (+) =times.time_id AND
calendar_year=1999
GROUP BY calendar_year, calendar_quarter_number, calendar_month_number;
-----
SELECT calendar_month_desc AS MONTH ,
TO_CHAR(SUM(amount_sold), '9,999,999,999') SALES$,
NTILE(4) OVER (ORDER BY SUM(amount_sold)) AS TILE4
FROM sales, products, customers, times, channels
WHERE sales.prod_id=products.prod_id AND
sales.cust_id=customers.cust_id AND
sales.time_id=times.time_id AND
sales.channel_id=channels.channel_id AND
times.calendar_year=1999 AND
prod_category= 'Men'
GROUP BY calendar_month_desc;
-----
SELECT c.cust_id, t.calendar_month_desc,
TO_CHAR (SUM(amount_sold), '9,999,999,999') AS SALES ,
TO_CHAR(AVG(SUM(amount_sold))
OVER (ORDER BY c.cust_id, t.calendar_month_desc ROWS 2 PRECEDING),
'9,999,999,999') AS MOVING_3_MONTH_AVG
FROM sales s, times t, customers c
WHERE
s.time_id=t.time_id AND
s.cust_id=c.cust_id AND
t.calendar_year=1999 AND
c.cust_id IN (6380)
GROUP BY c.cust_id, t.calendar_month_desc
ORDER BY c.cust_id, t.calendar_month_desc;
------
etc..
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147424
ov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ov
Гость
>Oracle X-pert
Да, интересно.
Очень даже.
Но для какой версии Oracle это работает ?
(хотябы в каком разделе догументации искать ?)
Analytic SQL Features in Oracle9i ?
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32147499
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Razdel - Oracle Data warehouse.

Version:: SQL:: 8i/9i
PLSQL - 9i
...
Рейтинг: 0 / 0
SELECT : вопрос к гуру :)
    #32152445
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ov, MV: Глупый вопрос -- а почему UNION, а не UNION ALL ???
Ведь по сути, m.id + m.vid -- это unique key?
Тогда каждый из подзапросов возвращает непересекающийся набор записей -- а значит дубликаты отфильтровывать не нужно.

А сортировка в приложении к запросам типа UNION ALL работает по совсем другим правилам нежели для UNION...
...
Рейтинг: 0 / 0
46 сообщений из 46, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SELECT : вопрос к гуру :)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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