Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом выбора. / 16 сообщений из 16, страница 1 из 1
19.12.2014, 15:22
    #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
19.12.2014, 15:31
    #38838237
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом выбора.
Вадим Вадимычне используя firstпомимо кустарного first у нас еще есть стандартный rows.
...
Рейтинг: 0 / 0
19.12.2014, 15:32
    #38838239
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом выбора.
Вадим ВадимычПодскажите как можно переписать запрос чтобы получить строку с
минимальной или максимальной суммой, но не используя first. Т.к. запрос может выполняться
не только на Firebird, но и на Oracle и MySQL.
1. Убрать first;
2. Фетчить только одну первую строку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
19.12.2014, 15:35
    #38838242
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом выбора.
Вадим Вадимыч> Подскажите как ... получить строку ... не используя first.

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

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

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

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


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

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

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

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


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