Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Как получить только первую запись, когда top возвращает несколько?  [new]
panter_dsd
Member

Откуда: Санкт-Петербург
Сообщений: 117
Добрый день. Вот такая вот задачка. Работаю через ODBC. Во вложенном подзапросе нужно выбрать только одно значение, но этого не получается в тех случаях, когда есть несколько записей с одинаковым datgysl.
SELECT top 1 f.ropl FROM F5GIL f WHERE (f.nkar LIKE ({fn CONCAT({fn LEFT(a.nkar,7)},'__')})) ORDER BY f.datgysl desc
Как быть? Уже 2 дня бьюсь и без эффекта. :(
С уважением.
Пантер.
26 авг 08, 11:38    [6108738]     Ответить | Цитировать Сообщить модератору
 Re: Как получить только первую запись, когда top возвращает несколько?  [new]
panter_dsd
Member

Откуда: Санкт-Петербург
Сообщений: 117
a.nkar из основного запроса
С уважением.
Пантер.
26 авг 08, 11:39    [6108752]     Ответить | Цитировать Сообщить модератору
 Re: Как получить только первую запись, когда top возвращает несколько?  [new]
Dima T
Member

Откуда:
Сообщений: 15279
Вот это явно не фоксовый синтаксис:
{fn CONCAT({fn LEFT(a.nkar,7)},'__')}

В фоксе TOP 1 всегда одну запись дает.

Попробуй в конце запроса добавить NOFILTER
26 авг 08, 11:54    [6108880]     Ответить | Цитировать Сообщить модератору
 Re: Как получить только первую запись, когда top возвращает несколько?  [new]
panter_dsd
Member

Откуда: Санкт-Петербург
Сообщений: 117
Dima T
Вот это явно не фоксовый синтаксис:
{fn CONCAT({fn LEFT(a.nkar,7)},'__')}

В фоксе TOP 1 всегда одну запись дает.

Попробуй в конце запроса добавить NOFILTER

Синтаксис ODBC, я просто не знал в какой ветке поститься. На NOFILTER ругается.
26 авг 08, 11:58    [6108903]     Ответить | Цитировать Сообщить модератору
 Re: Как получить только первую запись, когда top возвращает несколько?  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Если через ODBC идет подключение к таблицам FoxPro (к DBF), то там в подзапросах TOP 1 использовать нельзя. Придется использовать разные обходные маневры. Какие именно, зависит от условия задачи.

Если задача именно на выборку из DBF-таблиц, то приведите запрос полностью. Может, что и посоветуют...
27 авг 08, 01:05    [6112730]     Ответить | Цитировать Сообщить модератору
 Re: Как получить только первую запись, когда top возвращает несколько?  [new]
panter_dsd
Member

Откуда: Санкт-Петербург
Сообщений: 117
Перегнал данные в SQLite и все заработало. Всем спасибо. Тема закрыта.
27 авг 08, 11:13    [6113638]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить