![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 16.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam pewną tabelę zawodników, która zawiera m. in. dwie kolumny określające siłę zawodnika: `sila_typ` i `sila_wart` oraz kolumnę określającą status: `status`. Pole `sila_typ` może przyjmować wartości: 'dan' lub 'kyu', `sila_wart` to po prostu jakaś liczba, a `status` może być 'active', bądź 'inactive'. Kolejność sił przedstawia się następująco (od najsilniejszego do najsłabszego): 9dan, 8dan, ... 1dan, 1kyu, 2kyu, ... 30 kyu. I teraz mój problem: Chciałbym wybrane rekordy z bazy posortować w następujący sposób: - najpierw względem statusu (na początku 'active', później 'inactive' - to oczywiście banalne) - następnie wg siły (od najsilniejszego do najsłabszego - i tu pojawia się problem, ponieważ kolejność wartości sił jest różna dla 'dan' i 'kyu') Czy jest to w ogóle wykonalne przy pomocy jednego zapytania SQL (bez użycia unii)? Z góry dziękuję za wszelkie sugestie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 6 Dołączył: 13.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym próbował przypisać przed watrości bazy numery okerslajace poziom. Np. 1.9dan, 2.8dan, 3.7dan, 4.6dan, 5.5dan, 6.4dan, 7.3dan, 8.2dan, 9.1dan, 10.1kyu, 11.2kyu itd...
Tak widzę najprostrze rozwązanie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 20:00 |