Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie wg paru kolumn ..
Forum PHP.pl > Forum > Bazy danych
treewood
Mam pewien problem gdyż mam sobie tabele: Klienci o np. budowie:

|| firma || imie || nazwisko ||

|| IBM || jan || andrzejewski ||
|| NULL || jozef || kowalski ||
|| TOSHIBA || jan || kowalewski ||

Teraz jak widac tam gdzie pole firma jest NULL oznacza to, ze klientem jest osoba fizyczna czyli jozef kowalski a gdzie pole firma jest wypelnione jakas nazwa tzn. ze klientem jest firma np. IBM a osoba kontaktowa jest jan andrzejewski.

Chcialbym by wyswietlalo mi a raczej sortowalo wg klientow czyli dla osob fizycznych wg nazwiska a dla firm wg nazwy firmy
niestety nie wiem jak to zrobic

bo wiadomo gdy dam zapytanie select * from klienci order by firma,nazwisko to wpierw zostana wyswietlone dane gdzie pole firma jest puste a potem wypelnione czyli tak:

|| NULL || jozef || kowalski ||
|| IBM || jan || andrzejewski ||
|| TOSHIBA || jan || kowalewski ||

a powinno sie wyswietlic tak:

|| IBM || jan || andrzejewski ||
|| NULL || jozef || kowalski ||
|| TOSHIBA || jan || kowalewski ||

czyli jesli pole firma jest nie puste to ma sortowac wg firma jesli jest puste to wg nazwiska ... wiecie moze jak temu zaradzic?
scanner
Zła struktura danych. Ja bym wprowadził dodatkowe pole PodmiotTyp jako ENUM lub SET gdzie bym oznaczał:
P - osoba prywatna
F - firma
Oraz z pól firma, imie nazwisko zrobilbym nowe pole 'podmiotNazwa'.
Wtedy mozesz posortować
Kod
ORDER BY podmiotTyp ASC, podmiotNazwa ASC
uboottd
czyzby chodzilo o ORDER BY ifnull(firma,nazwisko) ?
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.