powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Union вопрос к разработчикам
18 сообщений из 43, страница 2 из 2
Union вопрос к разработчикам
    #38920228
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Женя, а зачем вот в этом запросе 17445819 во вложенных запросах order by? просто случайно остались, или ....?
Из них же никакого "показа" данных нет.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38920259
Евгений Болтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЖеня, а зачем вот в этом запросе 17445819 во вложенных запросах order by? просто случайно остались, или ....?
Из них же никакого "показа" данных нет.

Для лучшего понимания наверно лучше показать так. Нужно только 3 строки или больше по желанию, но по определенным условиям с последних дат за период
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  select first 3 F1, F2, F3 from 
  (
  (select first 3 F1, F2, F3 from T1 where DateFrom between H.DateFrom and H.DateTo and 
    WI_Shops.Banker_ID = Banker_ID and Seller_ID = WI_Shops.Seller_ID and SellerAddr_ID = WI_Shops.SellerAddr_ID
    order by Banker_ID desc, Seller_ID desc, SellerAddr_ID desc, TypeID desc, DateFrom desc)
  union all
  (select first 3 F1, F2, F3 from T2 where DateFrom between H.DateFrom and H.DateTo and
    WI_Shops.Banker_ID = Banker_ID and Seller_ID = WI_Shops.Seller_ID and SellerAddr_ID is null
    order by Banker_ID desc, Seller_ID desc, SellerAddr_ID desc, TypeID desc, DateFrom desc)     
  union all
  (select first 3 F1, F2, F3 from T3 where DateFrom between H.DateFrom and H.DateTo and
    WI_Shops.Banker_ID = Banker_ID and Seller_ID is null and SellerAddr_ID is null
    order by Banker_ID desc, Seller_ID desc, SellerAddr_ID desc, TypeID desc, DateFrom desc)     
  )
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38920276
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Болтик,

union all не сортирует результат, и я так понимаю, что при first 3 будут выданы 3 записи от первого запроса, при first 4 - 3 первого и 1 второго, и т.д.? При том, что у запросов, объединяемых union, разные условия выборки?
я опять не врубаюсь, что это за выдача данных такая.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38920294
Евгений Болтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЕвгений Болтик,

union all не сортирует результат, и я так понимаю, что при first 3 будут выданы 3 записи от первого запроса, при first 4 - 3 первого и 1 второго, и т.д.? При том, что у запросов, объединяемых union, разные условия выборки?
я опять не врубаюсь, что это за выдача данных такая.

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

пример более логичный для тебя наверное
первый подзапрос максимум 2 строки может вернуть
второй подзапрос максимум 4 строки может вернуть
последний подзапрос максимум 6 может вернуть
Но нужны только 6 получаем естественно часть каких то данных отсекается напрочь.
получаем такое

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select first 6 F1, F2, F3 from 
  (
  (select first 2
    order by ... desc)
  union all
  (select first 4
    order by ... desc)
  union all
  (select first 6
    order by ... desc)
  )



PS. Лично я уже давно перестал, сразу ворчать на клиента, что клиент хочет какую то хрень. Последний клиент мне столько интересного преподнес в части данных, что я 60 дней почти со стула не встаю. Идеи прут времени не хватает.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38920323
Евгений Болтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да еще один момент задатки у сервер научить понимать новые запросы уже есть, если проанализировать

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select first 6 F1, F2, F3 from 
  (
  select F1, F2, F3 from (select first 2
    order by ... desc)
  union all
  select F1, F2, F3 from (select first 4
    order by ... desc)
  union all
  select F1, F2, F3 from (select first 6
    order by ... desc)
  )



то получается если написать
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select first 6 F1, F2, F3 from 
  (
  (select first 2
    order by ... desc)
  union all
  (select first 4
    order by ... desc)
  union all
  (select first 6
    order by ... desc)
  )



то сервер может встретив
Код: sql
1.
(...)

автоматом добавить
Код: sql
1.
select F1, F2, F3 from 


в ходе препаре

Насколько я понимаю из этих соображений MS SQL Server позволил это делать, а чем мы хуже? Насколько я понимаю как раз появление таких возможностей через некоторое время в стандарт и вписывают.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38920373
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений БолтикЛично я уже давно перестал, сразу ворчать на клиента, что клиент хочет какую то хрень.
в 1990 году я еще выполнял запросы клиента. Потом стал посылать его нахер, если запросы были идиотичными. Причем с объяснениями, почему они таковыми являются. И клиенты как-то не сопротивлялись.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38920374
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Болтикполучаем такое
Использовать EXECUTE BLOCK и ограничивать клиентский fetch мешает что?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38920420
Евгений Болтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЕвгений Болтикполучаем такое
Использовать EXECUTE BLOCK и ограничивать клиентский fetch мешает что?


EXECUTE BLOCK использую во всю

мешает
1.Описание полей их тип достает и растягивает процесс писанины. Причет можно обойтись и без "EXECUTE BLOCK"
2.отсутствие
Код: sql
1.
select * from (EXECUTE BLOCK)


3.Зачем изобретать велосипед когда MS уже такое использует. Причем у нас практически мало изменений нужно внести выше я описал об этом.

;)

PS Не понимаю зачем предлагаете варианты для меня, я и так как змей изворачиваюсь еще и баги обхожу, на них с не которого времени забили я так понял. Так записываю в текстовик потом разом вывалю когда тройка выйдет, если проявятся.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38920577
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Болтик,

баги по нормальному рассматриваются только те, которые занесены в трекер и корректно оформлены (и предварительно проверены на уже существующие баг-репорты, чтобы не было дублей). В редких и исключительных случаях баг, сообщенный здесь, исправляется. Но в результате "следов" об этом баге и факте исправления (и в каких версиях) не остается. можешь копить баги у себя - они никогда не будут исправлены.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38920578
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Болтик> кол-во контекстов иногда зашкаливает

Они-то тут при чём? Я ждал, что ты отмажешься длиной
запроса - мол, в моей гениальной БД не хватает 64К. :)

> Дополнительные поля в таблицу

Доп.поля нужны были до появления derived tables.
И не в таблицу, а в выборку. Дальнейший полёт
мысли комментировать смысла не вижу, если ты
в таких простых вещах путаешься...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38921164
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, как вы вообще понимаете, что он хотел этой странной конструкцией получить?
У меня только глаз задёргался, но понимания не случилось.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38921171
Евгений Болтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЕвгений Болтик> кол-во контекстов иногда зашкаливает

Они-то тут при чём? Я ждал, что ты отмажешься длиной
запроса - мол, в моей гениальной БД не хватает 64К. :)

> Дополнительные поля в таблицу

Доп.поля нужны были до появления derived tables.
И не в таблицу, а в выборку. Дальнейший полёт
мысли комментировать смысла не вижу, если ты
в таких простых вещах путаешься...


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

"путаешься..." вот тут тебя не понял. Я не говорил, что путаюсь. Некоторые вещи пишутся так потому, что надо так. Если бы было написано по другому, то я бы с легкостью не прикрутил к сайту работу с базой.

PS Вообще я факт работы описал у других, а у нас этого нет. И еще относитесь к собеседникам с уважением, не надо недооценивать их знания. Иногда приходится переспросить, чтобы убедится, а не ошибался ли я. К примеру в одной теме почитал одно, подумалось про другое, а оказалось все по старому и у другого еще и вроде как ошибка в коде.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38921183
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery> Блин, как вы вообще понимаете, что он хотел этой странной конструкцией получить?

Ты про которую? Исходная, "со скобочками", простая как 5 копеек,
там глазу дергаться нечего. :) Де-факто это нынешний вариант с
derived tables, но без внешнего "select * from", о чём я и сказал выше.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38921196
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Болтик> Как не странно контексты мешают выйти за этот предел.

Я к тому, что сюда ты их приплёл совершенно зря.
Даже если считать, что избавление от derived tables
позволит сэкономить парочку контекстов, то в общей
массе это такие слёзы, что даже обсуждать смысла нет.

> "путаешься..." вот тут тебя не понял. Я не говорил, что путаюсь

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

Про уважение и пр. - это ты зря, я художника обидеть
не пытаюсь, просто объясняю своё видение твоей
"проблемы" и её решение при текущем положении дел.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38921214
Евгений Болтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЕвгений Болтик>
"путаешься..." вот тут тебя не понял. Я не говорил, что путаюсь

Это я говорил, что ты путаешься. В старых версиях,
когда нужно было такое, добавляли просто фиктивное
поле в выборку


Во художник написал "Дополнительные поля в таблицу и триггеры один за другим по определенной логике работы...", а ты вырвал слово "поле" из контекста и прикрутил его не туда. И сказал, что художник не может добавить доп.поле виртуальное для выборки. Да художник без таких дополнительных полей не художник, если запрос простой как барабан и надо отсортировать по хитрому. Есть такие конструкции построенные, что потом через месяц минут 30 врубаешься, что там и как. Самое интересное, что иногда первый раз написанное работает правильней чем "да нафига я так тогда сделал, ща по новому вот так сделаю". Самое главное, что мы понимаем основной смысл, что хочется остальное фигня и зависит от разработчиков.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38921236
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Болтик> а ты вырвал слово "поле" из контекста и прикрутил его не туда

Всё, Евгений Батькович, учитывая хронологию сообщений и
цитат, далее дискутировать с Вами категорически отказываюсь,
дабы ещё чего похуже не выяснилось...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38921362
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамТы про которую?
О той, где то ли первые 3 из первых 3 + 3 + 3, то ли первые 6 из первых 2 + 4 + 6.
...
Рейтинг: 0 / 0
Union вопрос к разработчикам
    #38921372
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery> О той, где то ли первые 3 из первых 3 + 3 + 3, то ли первые 6 из первых 2 + 4 + 6.

А, это... Эту я особенно не рассматривал и не комментировал,
поскольку она, во-первых, к сабжу никаким боком, а во-вторых,
сама по себе глуповатая (о чём ему Димы и сказали, вроде), но
объяснять это бессмысленно, потому что мопед не его, а клиента.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Union вопрос к разработчикам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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