Выбор множеств смежных событий в SQL - PullRequest
3 голосов
/ 25 августа 2010

Хорошо, сейчас я работаю над программой, в которой есть целая куча объектов событий.Каждый объект события имеет время начала и время окончания (обе полные метки времени).Многие события являются смежными (endTime одного события совпадает с startTime следующего события), показывая, что два события произошли подряд. Если бы я хранил все свои события в таблице SQLite или MySQL, можно ли было бы запрашивать каждый набор непрерывных событий?

Скажем, моя таблица выглядит следующим образом.

id   title          start_time           end_time
----------------------------------------------------------
1    Happy Time     4/3/2010 10:00:00    4/3/2010 13:00:00
2    Happier Time   4/3/2010 13:00:00    4/3/2010 18:00:00
3    Good Time      4/4/2010 18:00:00    4/4/2010 19:00:00
4    Gooder Time    4/4/2010 19:00:00    4/4/2010 22:00:00
5    Sad Time       4/6/2010 16:00:00    4/6/2010 20:00:00

Я хочу иметь возможность запросить эту таблицу и увидеть, что идентификаторы 1 и 2 смежны, идентификаторы 3 и 4 смежны, а идентификатор 5 ... смежны с самим собой.

ПричинаЯ не знаю, с чего начать, потому что всякий раз, когда я работал с SQL-запросами, результаты возвращались в виде отдельных строк.Одна строка в результате никогда не является частью подгруппы.

Если у вас есть какие-либо вопросы, не стесняйтесь комментировать.Спасибо!

1 Ответ

2 голосов
/ 25 августа 2010
SELECT a.id, a.title, a.start_time, a.end_time, b.id, b.title, b.start_time, b.end_time
FROM TABLE1 a, TABLE1 b
WHERE a.start_time = b.end_time

РЕДАКТИРОВАТЬ: изменение на основе дополнительной информации:

SELECT a.id, a.title, a.start_time, a.end_time, b.id, b.title, b.start_time, b.end_time
FROM TABLE1 a left join TABLE1 b ON a.start_time = b.end_time
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...