![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 20.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Załóżmy, że mamy prościutką tabelę danych przechowującą ludzi, każdy z unikalnym numerem ID. Załóżmy dodatkowo, że tabela ta ma wiele rekordów. Chcemy posortować ją wg dowolnej kolejności - brzmi to dziwnie, ale takie rozwiązanie jest mi potrzebne - np. wg numerów: 6,8,2,9,1,100,200,542,142, a dalej już np. rosnąco. Czy jest na to jakieś bardziej elegancki sposób niż tworzenie ogromnego zapytania z wieloma słówkami UNION? Dla mnie nie jest to problemem wygenerować takowe dynamicznie, ale czy jest prostszy, może mniej obciążający bazę sposób na takowe zapytanie? Ten post edytował MistrzHTML 12.07.2007, 21:31:36 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 295 Pomógł: 7 Dołączył: 26.03.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
i już sie nie wcisną (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Mój sposób pozwala na budowanie bardzo złożonej topologii warunków bo przecież mogłoby być: .... when kobieta='yes' and wiek between (18 and 60) then 'kobieta_pracujaca' when userid=1 then 'jakis_user' else costam .... czyli kolejne warianty mogą składać sie z dowonych wyrażeń i w momencie natrafienia na pierwsze spełnione (prawdziwe) porównanie mechanizm pomija kolejne porównania i przechodzi do porównywania kolejnego rekordu. Co więcej - można sobie po takiej zdefiniowanej zmiennej grupować, sumować itd A w sort orderingu byłoby to trudne do zapisania (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 14:06 |