Имя: Пароль:
LIFE
 
OFF: Задача на логику
,
0 clasteriy
 
23.03.15
21:53
Добрый вечер товарищи). На собеседовании задали задачу. Есть например два периода (даты) 2 и 6 и другой период 1-4.Нужно запросом узнать их пересечение(2-4).Какие мысли уВас?
1 b_ru
 
23.03.15
21:57
Без проверки на сам факт пересечения для двух таблиц содержащих по одной строке с полями ДатаНачала и ДатаОкончания:

ВЫБРАТЬ
  Максимум(ТДата1.ДатаНачала, ТДата2.ДатаНачала) Как ДатаНачала,
  Минимум(ТДата1.ДатаОкончания, ТДата2.ДатаОкончания) Как ДатаОкончания
ИЗ
  Тдата1, Тдата2
2 clasteriy
 
23.03.15
22:54
(1) сегодня один толковый человек  на пальцах пытался обьяснить подобное)
3 PR
 
23.03.15
22:55
Тебе 28 лет? Признайся, ты стебешься?
4 clasteriy
 
23.03.15
23:10
(3) нет, настроение нормальное
5 RomaH
 
naïve
24.03.15
08:18
ВЫБОР КОГДА &Дата2 ....
пойдет?
6 clasteriy
 
24.03.15
08:59
Мужики помогите задача актуальная для меня
7 Ненавижу 1С
 
гуру
24.03.15
09:00
(6) тебе уже все разжевали
8 Широкий
 
24.03.15
09:20
(1) Надо условие еще вставить на случай если периоды не пересекаются
9 kosts
 
24.03.15
09:23
Период1.ДатаНачала Между Период2.ДатаНачала и Период2.ДатаОкончания или Период1.ДатаОкончания Между Период2.ДатаНачала и Период2.ДатаОкончания или
10 kosts
 
24.03.15
09:24

Период1.ДатаНачала Между Период2.ДатаНачала и Период2.ДатаОкончания или Период1.ДатаОкончания Между Период2.ДатаНачала и Период2.ДатаОкончания
11 kosts
 
24.03.15
09:25
(10) + и наоборот соответственно
12 kosts
 
24.03.15
09:32
Если подумать, то вроде так можно, проверка, что другой целиком больше или меньше, (мог в логике ошибиться), примерно так.

Не Период2.ДатаОкончания < Период1.ДатаНачала или Не Период1.ДатаОкончания < Период2.ДатаНачала
13 Spyke
 
24.03.15
10:18
(0) Можно выбрать две таблицы с периодами по каждой дате потом сделать полное соединение по дате
14 clasteriy
 
24.03.15
10:23
Спасибо
15 ktvladimir
 
24.03.15
11:00
а потом ему скажут возьмем 3 периода) 4, 5 итд