powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как выбрать только первую запись из select?
7 сообщений из 7, страница 1 из 1
Как выбрать только первую запись из select?
    #32433614
kot_begemot_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Подскажите, как сотворить сие:
interbase 6.01
в ХП делаем выборку, нужно на выходе поиметь _только_ данные из первой записи выполненного селекта.
пробывал запользовать declare cursor, но ... то-ли руки растут откуда растут ноги, то-ли лыжи не едут...
...
Рейтинг: 0 / 0
Как выбрать только первую запись из select?
    #32433618
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что такое первая запись, этого interbase не знает.

Объясни ей это с помощью ключа
...
Рейтинг: 0 / 0
Как выбрать только первую запись из select?
    #32433627
kot_begemot_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в том-то и дело, что ключа такого не создать

Исходные данные:
объект генерит отчеты, отчеты пишем в БД.
Основной информацией (в данном случае) является дата/время.
Отчет бывает двух типов 'occurence' и 'ceasing'.
данные в типе 'ceasing' частично повторяют 'occurence'. а также уникальность данного события возможна в промежутке от 'occurence' до 'ceasing'. в дальнейшем эта информация может дублироваться во всем, кроме времени записи евента.
задача: на основе данных о 'occurence' найти время 'ceasing'
ход мыслей:
если сделать выборку с 'ceasing', отсортиванную по дате/времени, то первая полученная запись и будет тойвожделенной информацией, которую мы ищем...

как ее получить?
...
Рейтинг: 0 / 0
Как выбрать только первую запись из select?
    #32433637
somebody
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не ошибаюсь, то execute procedure proc (в отличии от select * from proc) и так возвращает
только первую запись . А вообще, что мешает написать соответсвующую ХП, котораю будет
возвращать только первую запись. Просто вместо suspend сделать exit. Или есть какие-то ньюансы?
...
Рейтинг: 0 / 0
Как выбрать только первую запись из select?
    #32433782
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в дополнение к Somebody

в ХП нужно просто делать не foreach select * from тратата into :тратата, а тоже самое, только без foreach. тогда и возьмется только первая запись
...
Рейтинг: 0 / 0
Как выбрать только первую запись из select?
    #32433790
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
feddв ХП нужно просто делать не foreach select * from тратата into :тратата, а тоже самое, только без foreach. тогда и возьмется только первая запись

Ага, и тут же мы получим 'multiple rows in singleton select.'

Правильно выбрать первую запись можно при помощи first (в FB) и rows (IB > 6.5, но тут я не уверен с версией).
Если автор так и хочет оставаться на наиболее глючной версии, то можно в ХП
выполнить следуюющее
...
for select Field1 from MyTable
into Field1 do
begin
suspend;
exit;
end
...
Рейтинг: 0 / 0
Как выбрать только первую запись из select?
    #32433903
kot_begemot_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огроменный сенькс за помосч ;)
все работат
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как выбрать только первую запись из select?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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