![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 93 Pomógł: 0 Dołączył: 24.12.2009 Ostrzeżenie: (20%) ![]() ![]() |
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! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 20:24 |