Задавайте вопросы, мы ответим
Вы не зашли.
Приветствую,
Имею такую структуру:
id = integer
start_time = datetime
end_time = datetime
is_active = bool
остальное не важно.
На рисунке временная шкала с пакетами:
У клиента есть 4 пакета услуг, которые последовательны по времени. Все четыре пакета активные (is_active = 1) Пользователь желает добавить новый пакет , который более совершенный (5), но пересекается по датам с двумя другими пакетами (2 и 3). Новый пакет должен стать активным, а два других должны стать не активными (is_active = 0), при этом пакеты 1 и 5 должны остаться нетронутыми.
Мне необходимо сформировать update запрос или запросы, который/ые должен/ны деактивировать пересекающиеся по дате пакеты (2 и 3) при условии, что изначально известны только start_time и end_time добавленного пакета (5).
Неактивен
Они удовлетворяют условию start_time < $end_time AND end_time > $start_time,
где $ обозначают константные выражения (в Вашем примере — даты пакета 5).
Неактивен
Я забыл написать про вот такую ситуацию.
Тогда запрос предложенный выше уже не сработает.
Неактивен
А Вы проверьте?
Неактивен
О чёрт, очёнь извиняюсь. Очень тонко, что я не заметил и подумал что я такой вариант уже пробывал.
Спасибо.
Неактивен