Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie wg paru kolumn ..
treewood
post
Post #1





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 18.01.2003

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


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




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
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: 3.10.2025 - 02:25