Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 292 Pomógł: 0 Dołączył: 10.07.2009 Ostrzeżenie: (0%)
|
Mam firmy w tabeli. [id, nazwa_firmy]
Posiadają one godziny otwarcia w osobnej tabeli. (id_firmy, id_dzien, od, do) Chciałbym sortować zaczynając od firm które mają najwięcej czasu do zamknięcia a potem firmy które mają najmniej czasu do otwarcia. Nie mam pojecia jak to rozgryźć i jeszcze jak mi dojdzie tabela wyjatkow, zastanawiam sie czy jest to mozliwe do skonstruowania z poziomu zapytania czy raczej powinienem kombinować to zrobić najpierw za pomocą skryptu php ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 61 Dołączył: 20.08.2010 Ostrzeżenie: (0%)
|
Potrzebujesz trzy informacje na temat każdej firmy:
1. Czy firma jest aktualnie otwarta (czyli czy aktualny czas mieści się pomiędzy wartościami OD i DO dla danego dnia) 2. Czas do zamknięcia (różnica pomiędzy DO a aktualnym czasem) 3. Czas do otwarcia (różnica pomiędzy północą a aktualnym czasem + różnica pomiędzy OD a północą + 24h za każdy pełen dzień w którym firma nie pracuje, np. jeśli aktualnie jest piątek 20:00, a firma będzie otwarta w poniedziałek o 6:00, to ma ci wyjść: 4h + 2*24h + 6h) – ten punkt prawdopodobnie będzie najtrudniej napisać Następnie dla otwartych firm sortujesz po wartości wyliczonej w punkcie 2., a dla zamkniętych po wartości wyliczonej w punkcie 3. (używając w tym celu konstrukcji CASE w ORDER BY) |
|
|
|
piotr485 Sortowanie według godzin otwarcia 18.10.2012, 17:50:37
modern-web W jakim formacie zapisane masz godziny? Problem wy... 18.10.2012, 19:12:55
piotr485 Cytat(modern-web @ 18.10.2012, 20:12... 18.10.2012, 20:36:24
CuteOne [SQL] pobierz, plaintext SELECT p.idFROM ... 18.10.2012, 21:25:03 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 02:30 |