Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Теоретические аспекты и практические реализации создания, внедрения и использования баз данных, СУБД, хранилищ.
  • Страница:
  • 1

ТЕМА:

Помогите решить задачу 12 года 10 мес. назад #675

2. Имеется таблица TRIP, в которой хранятся данные о рейсах, выполняемых транспортом компании.
CREATE TABLE trip(
id NUMBER
, per_beg DATE NOT NULL
, per_end DATE NOT NULL
, CONSTRAINT trip PRIMARY KEY(id)
, CONSTRAINT trip#C#per_beg#per_end CHECK(per_end >= per_beg)
, CONSTRAINT trip#C#per_beg CHECK(per_beg = TRUNC(per_beg))
, CONSTRAINT trip#C#per_end CHECK(per_end = TRUNC(per_end)) ) ;
ID - идентификатор рейса,
PER_BEG - дата начала рейса,
PER_END - дата окончания рейса.
Все даты хранятся с точностью до суток (время не хранится).
В некоторые периоды времени выполняется один или несколько рейсов, в другие периоды времени компания никаких рейсов не выполняет.
Два рейса называются смежными по времени, когда второй рейс начинается на следующий день после окончания первого рейса.
Два рейса называются пересекающимися по времени, когда есть дни, в которые одновременно выполнялся и первый и второй рейс.
Одной командой SELECT вывести сведения обо всех периодах, когда компания выполняла какие-либо рейсы, то есть смежные и/или пересекающиеся по времени рейсы должны быть объединены в один период.
Каждый период должен встречаться в результате только один раз.
В результат должны быть выведены:
1. Дата начала периода,
2. Дата окончания периода.
Результаты отсортировать по дате начала периода по возрастанию.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
Время создания страницы: 0.274 секунд