Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Пересечение периодов (дат) (zaartix) 13/01/2006 - 13:03:54
      Re: Пересечение периодов (дат) (Dinky) 13/01/2006 - 19:40:52
      Re: Пересечение периодов (дат) (Salahatdin) 03/06/2010 - 13:13:28
      Re: Пересечение периодов (дат) (Salahatdin) 24/03/2011 - 14:32:48

> Original message text:
> From: zaartix - 13/01/2006 - 13:03:54
> Subject:Пересечение периодов (дат)
> -----------------
> Подскажите плз как быть?
> таблица содержит грубо 2 поля - начало периода fromClock, конец периода toClock
> типы полей - оба date
> перед тем, как занести туда новую запись мне надо проверить не накладываются-ли периоды, тот, что собираюсь занести с каким-нибудь из тех, что уже есть
> я делаю так:
> select count(*) as num
> from table
> where ('$from'>=fromClock and '$from'<=toClock) or ('$to'>=fromClock and '$to'<=toClock) or ('$from'<=fromClock and '$to'>=toClock)
> т.е. считаю количество пересечений
>
> как мне вернуть те места, в которых идут пересечения, чтоб юзеру сказать, что с такими-то периодами проблемы?
>
> ну ес-но можно просто без count(*), но тогда он вернет все проблемные периоды, а некоторые из ниж могут в свою очередь быть вложениями друг в друга, соответственно и юзеру о них говорить не следует
>
> мне юзеру надо сказать, что типа на начало периода места заняты, или на конец периода, или посередине где-то. Вот собсна. Как узнать проблемный/ые?
>


From: Dinky - 13/01/2006 - 19:40:52
Subject:Пересечение периодов (дат)
-----------------
перечитал, дважды, все равно не понял :)
пересечения вы считаете, но одни из них надо выводить, другие - нет, какие точные критерии?
" типа на начало периода места заняты, или на конец периода, или посередине где-то" - надо как-то формализовать эти критерии ;)

--
Dmitry



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
38150



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |