Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Sortowanie rekordów
arkos
post 23.09.2013, 17:29:18
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 0
Dołączył: 24.12.2009

Ostrzeżenie: (20%)
X----


Witam, mam taką tabelę:


Problem polega na tym, że zawartość muszę posortować w zależności od:
1. Po ID malejąco,
2. Pakiety (type = 0, id_order = NULL) mają być na samym początku (również sortowane po ID malejąco),
3. Pod pakietami (type = 0) przypisane do nich usługi id_order, posortowane według type rosnąco,
4. Cała reszta (bez pakietów), posortowane według: type rosnąco, id malejąco.

Czy mogę to zrobić w jednym zapytaniu, aby uzyskać taki wynik rekordów?:
Pakiet ID 3
Usługa1 pakiet 3
Usługa2 pakiet 3
Pakiet ID 2
Usługa1 pakiet 2
Usługa2 pakiet 2
Pakiet ID 1
Usługa1 pakiet 1
Usługa2 pakiet 1
Usługa bez pakietu ID 4
Usługa bez pakietu ID 3
Usługa bez pakietu ID 2


Wiem, że w dwóch zapytaniach łatwo to jest zrobić bo wystarczy:
SELECT * FROM `tabela` WHERE `id_order` IS NULL ORDER BY `type` ASC, `id` DESC
A w drugim:
SELECT * FROM `tabela` WHERE `id_order=id_z_pierwszego_zapytania ORDER BY `type` ASC, `id` DESC

To samo chcę uzyskać, ale w 1 zapytaniu o ile to możliwe.
Z góry dzięki za pomoc!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.06.2025 - 20:24