![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 28.02.2018
Сообщений: 7
|
![]()
Здравствуйте!
Помогите решить: всЁ происходит в Access 2003 имеем таблицу Scene сценариев работы осветительных прибопров где указано уникальный ID имя Scene_Name доступность Enabled (логическое поле True/False) период действия date_start и date_stop время действия time_start и time_stop дни недели Mon, Tue, Wed, Thu, Fri, Sat, Sun в которые действует сценарий (логические поля True/False) период действия по датам и времени разных сценариев могут накладываться друг на друга (потому что пользователь создает новый сценарий назначает ему период действия не заботясь об удалении старых сценариев) Необходимо, имея текущие значения даты, времени и дня недели выбрать сценарий удовлетворяющий всем условиям НО только тот ЕДИНСТВЕННЫЙ который "начался" последним для заданных условий (дата/время/день недели) тестовая таблица id scene_name Enabled date_start date_stop time_start time_stop Mon Tue Wed Thu Fri Sat Sun 1 global Истина 01.01.1900 31.12.2100 0:00 23:59 Истина Истина Истина Истина Истина Истина Истина 3 work Истина 01.01.1900 31.12.2100 9:00 18:00 Истина Истина Истина Истина Истина Ложь Ложь 4 dinner Истина 01.01.1900 31.12.2100 12:00 14:00 Истина Истина Истина Истина Истина Ложь Ложь 5 alarm1 Истина 01.01.2018 15.07.2018 6:00 6:15 Истина Истина Истина Истина Истина Ложь Ложь 6 alarm2 Истина 15.08.2018 15.07.2019 6:00 6:15 Истина Истина Истина Истина Истина Ложь Ложь 7 holiday Истина 01.01.2018 31.12.2100 8:00 23:00 Ложь Ложь Ложь Ложь Ложь Истина Истина 8 night Истина 01.01.1900 31.12.2100 23:01 5:59 Истина Истина Истина Истина Истина Истина Истина 9 test Истина 01.03.2018 01.05.2018 12:30 13:00 Истина Истина Истина Истина Истина Ложь Ложь 10 test1 Истина 01.03.2018 01.05.2018 12:35 13:05 Истина Истина Истина Истина Истина Ложь Ложь 11 test3 Истина 01.02.2018 01.05.2018 12:35 13:05 Истина Истина Истина Истина Истина Ложь Ложь в четверг 21 марта в 12:50 должен быть выбран сценарий test1 id=10 т.к. по дате он начался последним (01.03.18) и по времени то же (12:35). |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
![]()
Условие выборки в таком духе, на sql сам переводи
Код:
Берется первая строка выборки
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 28.02.2018
Сообщений: 7
|
![]()
Спасибо, разобрался.
Ключевые моменты это DESC и TOP 1 |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сложный запрос | munhauz | SQL, базы данных | 7 | 21.11.2013 20:51 |
не сложный запрос | -=Andriushka=- | SQL, базы данных | 0 | 03.05.2013 20:26 |
сложный запрос | Deeller | БД в Delphi | 3 | 29.04.2011 19:25 |
Сложный запрос | templton | Microsoft Office Access | 8 | 21.04.2011 13:43 |
Сложный запрос | Kostya777 | Microsoft Office Access | 1 | 07.12.2010 12:02 |