Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak osiągnąć takie sortowanie ?, Żeby można było jako parametr podać parę kolumn ...
sawic
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 24.05.2005

Ostrzeżenie: (0%)
-----


Witam,

Zadałem to zapytanie na pl.comp.bazy-danych, ale od dwóch dni nie uzyskałem odpowiedzi, więc spróbuję tutaj.

Baza MySQL 5, mam taką zawartość tabel:

CODE

kategorie:
id | kategoria | kolejnosc
-----------------------------------
1 | kategoria1 | 1
2 | kategoria2 | 2
3 | kategoria3 | 3

CODE

pozycje:
id | pozycja | kat | podpoz_do_poz | podpozycja | kolejnosc
--------------------------------------------------------------------
1 | pozycja1 | 2 | NULL | podpozycja | 1
2 | pozycja1 | 2 | 1 | podpozycja1 | 1
3 | pozycja1 | 2 | 1 | podpozycja2 | 2
4 | pozycja1 | 2 | 1 | podpozycja3 | 3
5 | pozycja2 | 1 | NULL | podpozycja | 1
6 | pozycja3 | 3 | NULL | podpozycja | 1
7 | pozycja4 | 3 | NULL | podpozycja | 2
8 | pozycja3 | 3 | 6 | podpozycja1 | 1
9 | pozycja3 | 3 | 6 | podpozycja2 | 2
10 | pozycja3 | 3 | 6 | podpozycja3 | 3
11 | pozycja3 | 3 | 6 | podpozycja4 | 4


Następnie odczytuję to, przez:
  1. SELECT k.id AS kid, k.kategoria, p.id AS pid, p.pozycja, p.podpoz_do_poz, p.podpozycja
  2. FROM db.kategorie AS k INNER JOIN db.pozycje AS p ON k.id=p.kat



Chciałbym aby zostało to posortowane, po kolejności kategorii, następnie po kolejności pozycji, a następnie po kolejności podpozycji dla każdej z pozycji. Problem tkwi w tym, że pozycje i podpozycje są w jednej tabeli. Żeby można było jako parametr podać parę kolumn to by było ok.

Czyli chciałbym otrzymać coś takiego:
CODE

kid | kategoria | pid | pozycja | podpoz_do_poz | podpozycja
----------------------------------------------------------------
1 | kategoria1 | 5 | pozycja2 | NULL | podpozycja
2 | kategoria2 | 1 | pozycja1 | NULL | podpozycja
2 | kategoria2 | 2 | pozycja1 | 1 | podpozycja1
2 | kategoria2 | 3 | pozycja1 | 1 | podpozycja2
2 | kategoria2 | 4 | pozycja1 | 1 | podpozycja3
3 | kategoria3 | 6 | pozycja3 | NULL | podpozycja
3 | kategoria3 | 8 | pozycja3 | 6 | podpozycja1
3 | kategoria3 | 8 | pozycja3 | 6 | podpozycja2
3 | kategoria3 | 10 | pozycja3 | 6 | podpozycja3
3 | kategoria3 | 11 | pozycja3 | 6 | podpozycja4
3 | kategoria3 | 7 | pozycja4 | NULL | podpozycja


Mam nadzieję, że wystarczająco napisałem o co mi chodzi i z góry dziękuję za wszystkie odpowiedzi.

Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 04:38