Список форумов КЛУБ FileMaker.RU КЛУБ FileMaker.RU

 
new forum: www.fmforum.ru
FileMaker DevCon Rus 2017.IV коенференция российских разработчиков на платформе FileMaker.
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

И снова ExecuteSQL

 
Начать новую тему   Ответить на тему    Список форумов КЛУБ FileMaker.RU -> Практика FM
Предыдущая тема :: Следующая тема  
Автор Сообщение
Andrew Gorenkov



Зарегистрирован: 11.12.2013
Сообщения: 176
Откуда: Киев

СообщениеДобавлено: Вт Май 26, 2015 12:18 pm    Заголовок сообщения: И снова ExecuteSQL Ответить с цитатой

Всем доброго дня,

Коллеги, такая проблема. Есть таблица со значениями. Чтобы не заморачиваться с реляциями, решил вытягивать данные оттуда с помощью ExecuteSQL.

Почитав литературу по командам SQL, понял что простого решения не будет.

Что мне необходимо - найти в таблице с данными записи соответствующие нескольким критериям, - в моём случае это IDМатериала, Тара. Данные мне нужны из строки с самой "свежей" датой. В идеальных условиях, можно было бы вытягивать последнюю запись в найденном, но нет уверенности что оператор не введёт "задним числом" цену, а соответственно последняя запись не будет самой актуальной. Да и Select Last не работает в Filemaker'e.
Каждая строка в таблице на скрине имеет свой ID, если бы можно было находить самую "свежую дату" и брать этот ID, то дальше было бы легко. Но вот как найти эту дату? Возможно Selkect Max для даты, но не понимаю как тогда вытягивать ID строки.

Или может у кого есть более изящное решение/идея?

Буду благодарен за любой совет.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Arcady



Зарегистрирован: 24.02.2006
Сообщения: 704

СообщениеДобавлено: Вт Май 26, 2015 1:24 pm    Заголовок сообщения: Ответить с цитатой

в запросе используйте ORDER BY для сортировки, в ващем случае по id. Для обратной сортировки используйте DESC т.е.
SELECT поле FROM таблица WHERE условия ORDER BY id DESC
в итоге получим список значений как набор строк, поскольку они отсортированы, то искомое значение самое верхнее.
Используя функцию GetValue (результат_запроса; 1) получим искомое значение
_________________
Аркадий Перла.
ТриАПринт. Разработка решений для FileMaker
http://www.3a-print.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Andrew Gorenkov



Зарегистрирован: 11.12.2013
Сообщения: 176
Откуда: Киев

СообщениеДобавлено: Вт Май 26, 2015 1:28 pm    Заголовок сообщения: Ответить с цитатой

Arcady
Большое спасибо!

В результате экспериментов, у меня получилось следующее:
Код:
RightWords ( Substitute ( Let ( [ tara = Тара ; ID = IDМатериала ; tip = ТипМатериалаЧисло ] ; ExecuteSQL ( "Select (\"IDЗаписи\") from \"Справочники | Материалы | История цены\" WHERE \"КлючНаМатериал\" = ? AND \"Тара\" = ? AND \"ТипМатериалаЧисло\" = ? ORDER BY \"ДатаУстановкиЦены\" "; ""; "" ; ID ; tara ; tip ) ) ; "¶" ; " " ) ; 1 )


У Аркадия на 1 действие меньше, значит его вариант будет работать быстрее.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
aleksa106



Зарегистрирован: 18.05.2005
Сообщения: 616
Откуда: С-Петербург

СообщениеДобавлено: Вт Июн 02, 2015 11:54 pm    Заголовок сообщения: Ответить с цитатой

Мои 5 копеек...
Код:

SELECT поле FROM таблица WHERE условия ORDER BY дата DESC LIMIT 1


Получите как раз 1 запись...
_________________
Win + Mac
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Andrew Gorenkov



Зарегистрирован: 11.12.2013
Сообщения: 176
Откуда: Киев

СообщениеДобавлено: Ср Июн 03, 2015 11:32 am    Заголовок сообщения: Ответить с цитатой

aleksa106

+100! Супер!!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов КЛУБ FileMaker.RU -> Практика FM Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB