Re: Finding gaps in scheduled events
От | Erik Jones |
---|---|
Тема | Re: Finding gaps in scheduled events |
Дата | |
Msg-id | 457F422D.2000204@myemma.com обсуждение исходный текст |
Ответ на | Re: Finding gaps in scheduled events (Alvaro Herrera <alvherre@commandprompt.com>) |
Список | pgsql-sql |
Alvaro Herrera wrote: > Marcin Stępnicki wrote: > > >> Now I need to create a query to find hours at which each of the type can >> start. So, if it's event A (which take 15 minutes) it can start at: >> >> 8:00 (to 8:15) >> 8:15 (to 8:30) >> ( 8:30 to 8:45 is already taken ) >> 8:45 (to 9:00) >> 9:00 (to 9:15) >> 9:15 (to 9:30) >> ( 9:30 to 10:00 (9:30-9:45 and 9:45-10:00) is already taken)) >> 10:00 (to 10:15) >> > > I think something like this should help you: > > select my_hour > from test_events right join test_timeline on > ((start, finish) overlaps (my_hour, my_hour + 15 * '1 minute'::interval)) > where start is null; > > With your test data, it shows all the times except for 8:30, 9:30 and > 9:45. > Nice! And, he can run that query again, flipping the 15 to 30, to get the list of available 30 minute gaps. That's a heck-of-a lot simpler than the stuff I discussed earlier. -- erik jones <erik@myemma.com> software development emma(r)
В списке pgsql-sql по дате отправления: