![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 22.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z sortowaniem, ponieważ musi się odbyć ono na zasadzie, że ORDER BY będzie obowiązywać dla wiersza z większą datą. Skrypt aktualnie wygląda tak (wycinek):
Wygląda to mniej więcej tak (na czerwono oddzieliłem 'wyniki działań 1 zapętlenia') (IMG:http://www.bankfotek.pl/image/789452.jpeg) Zmienienie zapytania (końcówki) z ORDER BY `WaznyDo1`,`Godzina1` ASC; na ORDER BY `WaznyDo1`,`Godzina1`,`WaznyDo2`,`Godzina2`,`WaznyDo3`,`Godzina3` ASC; niewiele zmienia (IMG:http://www.bankfotek.pl/image/789455.jpeg) Nie miałbym problemów z sortowaniem gdyby daty i godziny były w 1 tabeli, ale problem jest że są w 3 rożnych. Najprostszym rozwiązaniem byłoby połączenie tych 3 kolumn i wtedy posortować ale lecz musza być one osobno więc to nie wypali. Można je jakoś tymczasowo połączyć tylko na czas sortowania lub jakoś inaczej to rozwiązać? Tak aby wynik wyglądał w ten sposób: (IMG:http://www.bankfotek.pl/image/789471.jpeg) Z góry dzięki za pomoc. Ten post edytował XvAK 24.10.2010, 13:31:01 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 22.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dalej nie potrafię napisać zapytania w ten sposób aby wyniki były sortowane po najniższej dacie z pośród 6 różnych pól (WaznyDo1 + Godzina1 LUB WaznyDo2 + Godzina2 LUB WaznyDo3 + Godzina3)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, nie rozumiem dlaczego w oddzielnych kolumnach trzymasz datę i godzinę, do tego jest TIMESTAMP i DATETIME. Wtedy łączysz tabelę i sortujesz po całej dacie, a nie jakieś magiczne cuda z sortowaniem godziny i daty jednocześnie (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 16 Pomógł: 0 Dołączył: 22.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, nie rozumiem dlaczego w oddzielnych kolumnach trzymasz datę i godzinę, do tego jest TIMESTAMP i DATETIME. Wtedy łączysz tabelę i sortujesz po całej dacie, a nie jakieś magiczne cuda z sortowaniem godziny i daty jednocześnie (IMG:style_emoticons/default/smile.gif) OK, ale to i tak nie będzie miało znaczenia na wynik końcowy, bo nawet w takim przypadku trzeba będzie sprawdzić który z połączonych wierszy ma wartość najmniejszą. Obecnie muszę sprawdzić spośród 2 (data,godz) x 3 (1,2,3) komórek, a przypadku połączenia ich (jak mówisz) 1 x 3. Być może tak zrobię, ale najpierw chciałbym wiedzieć jak można sprawdzić który z danych wierszy ma najmniejszą wartość i posortować (ORDER BY (komórka z najmniejszą wartością) ASC). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:06 |