powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом выбора.
16 сообщений из 16, страница 1 из 1
Помогите с запросом выбора.
    #38838222
Необходимо составить запрос вида:
select first 1 *
from table1 t1
join table2 t2 on t2.id = t1.id_table1
join...
таких join может быть много
order by t1.summa
Подскажите как можно переписать запрос чтобы получить строку с минимальной или максимальной суммой, но не используя first. Т.к. запрос может выполняться не только на Firebird, но и на Oracle и MySQL.
Знаю что можно использовать:
select *
from ....
join
where t1.summa = (select min(summa) from .....join )
но при таком запросе нужно переписывать все связи, а это увеличивает запрос в 2 раза и делает его менее читабельным.
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838237
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим Вадимычне используя firstпомимо кустарного first у нас еще есть стандартный rows.
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838239
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим ВадимычПодскажите как можно переписать запрос чтобы получить строку с
минимальной или максимальной суммой, но не используя first. Т.к. запрос может выполняться
не только на Firebird, но и на Oracle и MySQL.
1. Убрать first;
2. Фетчить только одну первую строку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838242
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим Вадимыч> Подскажите как ... получить строку ... не используя first.

Если без First/Rows - то так же, как получали до их появления -
фетчить первую строку на клиенте или на сервере (SP, EB).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838244
Dimitry Sibiryakov2. Фетчить только одну первую строку.

это как?
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838245
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим Вадимычэто как?очевидно ровно тем же способом, что и несколько(все).
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838250
Ivan_PisarevskyВадим Вадимычэто как?очевидно ровно тем же способом, что и несколько(все).
Если запрос использовать в датасете, то без first он будет тянуть не одну запись, а все. ... их может быть мнооого.
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838255
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим Вадимыч> датасете, то без first он будет тянуть не одну запись, а все

Это смотря какой датасет и как тянуть. RTFM серверный курсор.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838267
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим Вадимычполучить строку с минимальной или максимальной суммойmin() max()?
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838277
roadsterВадим Вадимычполучить строку с минимальной или максимальной суммойmin() max()?

Вадим ВадимычЗнаю что можно использовать:
Код: sql
1.
2.
3.
4.
select *
from ....
join
where t1.summa = (select min(summa) from .....join )


но при таком запросе нужно переписывать все связи, а это увеличивает запрос в 2 раза и делает его менее читабельным.
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838407
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну сделай два запроса.
сперва отлови ключ минимума.
а потом выгребай всё что нужно с джоинами.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838518
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим Вадимыч,

а, вон как, я первоначально не обратил внимания.
так может лучше требования формализовать?
Мимопроходящийну сделай два запроса.
сперва отлови ключ минимума.
а потом выгребай всё что нужно с джоинами.не получится, ему надо и на FB и на оракле и на майскуле :) универсальный запрос :)
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838521
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадим ВадимычЕсли запрос использовать в датасете, то без first он будет тянуть не одну запись, а все. ...Все датасет потянет, если сделать fetchall, очевидно, что если не делать фетчей, тем более алл, то будет первая запись. для наглядности можно применить контрольный выстрел: SomeDataset.First, ежели оно не eof, то запись стопудово первая, вот ее и взять.

Или у благородного дона все датасеты исключительно с привязаными гридами и выставленной галкой "фетчить усё"?
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838528
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyИли у благородного дона все датасеты исключительно с привязаными
гридами и выставленной галкой "фетчить усё"?
Телепаю: благородный додон использует ADO.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38838593
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фигасе, никак ты Кашпировский.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите с запросом выбора.
    #38839396
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Roadster!
You wrote on 22 декабря 2014 г. 10:57:34:

RoadsterМимопроходящий> ну сделай два запроса.
> сперва отлови ключ минимума.
> а потом выгребай всё что нужно с джоинами.
> не получится, ему надо и на FB и на оракле и на майскуле :)
> универсальный запрос :) пофигу.
всё одно на дельфях ваяет.
вот и пущай заместо одного запроса дёргает два.
и на FB, и на оракле, и на майскуле.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом выбора.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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