Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Grupowanie wpisów
Forum PHP.pl > Forum > Bazy danych > MySQL
kacpero1094
Mam tabelę o mniej więcej takiej strukturze:
`id`
`name`
`attached`
Jest to tabela z kategoriami. Chodzi o to, aby najpierw wyświetliła się kategoria o id=1, a pozniej kategorie ktore mają `attached`=1, następnie kategoria z `attached`='0' i kolejnym `id`.
Próbowałem zrobić to przez GROUP BY, ale nic nie wyszło.
thek
Pytanie zasadnicze... czy wszystkie te warunki są rozłączne czy nie?
Znaczy czy może istnieć wiersz o id=1 i attached = 1 lub id=1 i attached = 0. Jeśli Nie to masz spokój... UNION z odpowiednimi warunkami negującymi smile.gif
SELECT rekordy gdzie id = 1 i ewentualnie order by attached malejąco
UNION
SELECT rekordy gdzie attached = 1 i id różne od 1
UNION
SELECT rekordy gdzie attached = 0 i id różne od 1
UNION
SELECT rekordy gdzie id różne od 1 i attached nie jest ani 0 ani 1

Oczywiście najlepiej byłob rzucić przykładem kilku wierszy i pokazać jak miałaby wyglądać w wyniku kolejność.
kacpero1094
Jak miałaby wyglądać lista:
Cytat
Kategoria 1
Subkategoria 1 kategorii 1
Subkategoria 2 kategorii 1
Subkategoria 3 kategorii 1
Subkategoria 4 kategorii 1
Subkategoria 5 kategorii 1
Kategoria 2
Subkategoria 1 kategorii 2
Subkategoria 2 kategorii 2
Subkategoria 3 kategorii 2
Subkategoria 4 kategorii 2
Subkategoria 5 kategorii 2
Subkategoria 6 kategorii 2
Subkategoria 7 kategorii 2
Subkategoria 8 kategorii 2
Subkategoria 9 kategorii 2
Subkategoria 10 kategorii 2
Kategoria 3
Subkategoria 1 kategorii 3
Kategoria 4
Kategoria 5

Mniej więcej tak.
nospor
Tutaj o tym pisałem:
http://nospor.pl/grupowanie-wynikow.html
tylko że u mnie w przykładzie były dwie tabele. U ciebie jest jedna. Musisz left joina poprostu robić na tę samą tabelę.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.