Skocz do zawartości
Zaloguj się, aby obserwować  
Stelma

[MySql] Formatowanie kodu

Polecane posty

Witam,

 

Dziś postanowiłem poćwiczyć SQL'a i postawiłem sobie proste zadanie, chodzi o przechowywanie godzin otwarcia sklepu danego dnia. Jak wiemy sklepy są otwarte 7 dni w tygodniu dajmy na to przykładowy dzień od 06:00 do 02:00, a drugiego dnia już od 05:25 do 23:30. Dlatego stworzyłem sobie taką oto tabelę

 

 

af2495ae.png

 

 

 

 

 

shop_id => klucz obcy nas nie interesuje

day => numer dnia w którym obowiązuje zakres np 0 -> poniedziałek, 6 -> niedziela

open => godzina otwarcia sklepu w czasie unixowym np ( 18000 )

close => godzina zamknięcia sklepu w czasie unixowym np ( 14400 )

 

Jak widać już teraz godzina zamknięcia sklepu jest mniejsza od godziny otwarcia mimo iż obowiązuje dla tego samego dnia !

 

Wszystko było by ładnie pięknie ślicznie i w ogóle, ale no właśnie zawsze jest jakieś ale nie pasuje mi zapytanie sql którym chciałbym wyciągnąć który ze sklepów jest w danej chwili otwarty może dam fotke uzupełnionej bazy o 3 sklepy

 

 

 

 

 

fb01e77b.png

 

 

 

 

 

 

 

 

 

 

SELECT * FROM `shop_work`
WHERE
 86400 * `day` + `open` >= :time AND
 IF( `close` <= `open`, `close` + ( `day` + 1 ) * 86400, close + day * 86400) <= :time

 

Jak wiadomo sklepy mogą być otwarte w czasie magicznej bariery 00:00 dlatego nie mogę założyć warunku na dzień. Może ktoś zechciałby mi pomóc z opanowaniem stylu(?) w jakim się powinno pisać w SQL bo przyznam że jaki kod bym nie czytał to nie czytelny jest (nie że nie rozumiem :P)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Te wartości proszę dać jako stałe (count) no i te wartości muszą byc zrobione przedziałem ;) Wg mnie to powinno pomóc.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się
Zaloguj się, aby obserwować  

×