Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 1 Dołączył: 6.12.2016 Ostrzeżenie: (0%)
|
Mam w tabeli między innymi pola: time_from, time_to - typu TIME i pole day typu TINYINT. Dodaje do bazy rekord z takimi danymi:
Kod day=1; time_from="13:00:01"; time_to="18:00:00"; Następnie dodaje takie dane: Kod day=1; time_from="14:00:01"; time_to="20:00:00"; day=1; time_from="11:00:01"; time_to="15:00:00"; day=1; time_from="12:45:01"; time_to="13:00:00"; Jeśli dodam powyższe dane, to w tabeli będzie kilka zadań wykonywanych w tym samym czasie, a założenie jest takie że nie może być więcej jak jedno zadanie w tym samym czasie. Nie mam pomysłu jak zbudować zapytanie SQL sprawdzające czy w czasie pomiędzy dwoma godzinami (gg:mm) time_from i time_to już coś jest w bazie. Jak powinna wyglądać klauzula where dla takiego zapytania?. Ten post edytował arturpiotrowski 29.03.2017, 20:54:03 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Chyba najprościej jest sprawdzić czy pomiędzy interesującymi Cię godzinami jakieś zadanie ma swój początek lub koniec. Jeśli ma początek, to decydujesz które ma pierwszeństwo i albo wciskasz nowe przed nie, albo ustawiasz nowe po jego końcu. Gdy masz w tym czasie koniec, to po prostu ustawiasz początek nowego po zakończeniu starego.
Inna sprawa jest taka, że IMHO źle do tego podszedłeś. Istotny jest bowiem początek i czas trwania, a nie godzina zakończenia. Tę łatwo wyliczyć dodając do początku czas trwania (IMG:style_emoticons/default/smile.gif) Poza tym dodając kolejne rekordy nie grzebiesz się z tym, ale jeśli to jest kolejka jakaś, to łapiesz pierwszy z brzegu o najwcześniejszej dacie. Gdy się skończy, znowu łapiesz najwcześniejszy, aż do wyczyszczenia kolejki. Wszystko zależy do czego Ci to potrzebne. |
|
|
|
arturpiotrowski [MySQL]Sprawdzenie, czy jest w tabeli istnieje rekord pomiędzy określonym czasem 29.03.2017, 20:52:29
arturpiotrowski czyli, jak ktoś doda np że chce wykonywać zadanie ... 11.04.2017, 05:38:49
Pyton_000 http://stackoverflow.com/a/28389422/3732803
Tu ma... 11.04.2017, 07:56:24 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 01:29 |