Можно сортировать по двум меткам времени и отображать одну и ту же строку дважды
Я смотрю на создание решения по расписанию. У меня есть лист задач, который выглядит как
Зона 1, пункт 1, начало, время, конец, время
Зона 1 item1 startTime endTime
Я хочу создать отображение, где я могу видеть, что даже происходит дальше, либо endTime, либо startTime
т.е.
Ньюкаслский ролик 16:45 18:45
Newcastle reel2 17:45 19:45
будет выводить
Ньюкаслская катушка 16:45
Ньюкаслская катушка 17:45
Ньюкаслский ролик 18:45
Ньюкаслский ролик 19:45
Более того, я хотел бы определить, является ли время startTime или endTime, нужно ли мне вводить две строки для каждого действия (время, площадь, элемент, начало | конец). Я могу сделать интерфейс для создания двух строк. Мне просто интересно, было ли лучшее решение.
2 ответа
С вашей существующей схемой этот запрос должен работать:
SELECT * FROM
((SELECT Area, Item, startTime AS eventTime FROM tasks)
UNION
(SELECT Area, Item, endTime FROM tasks)) AS t
ORDER BY eventTime
По сути, вы выбираете все время начала, затем время окончания, а затем сортируете их.
Вы можете иметь таблицу событий с
- Я бы
- время
- тип (начало или конец)
- идентификатор детали события
и таблица сведений о событии с
- Я бы
- описание
Вы можете сделать select time, type, description from event left join event_details on event.details_id = event_details.id order by time
,
Это должно дать вам желаемый результат.
Если вы хотите получить выходные данные с начальным и конечным временем в каждой строке, то вам нужно сделать что-то вроде select event_details.description, min(time) as start, max(time) as end from event left join event_details on event.details_id = event_details.id group by event_details.description
,