Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sortowanie wg paru kolumn ..
treewood
post 16.06.2003, 14:10:49
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?


--------------------
Działam w OpenSolution.org, autor Quick.Cms i Quick.Cart już od ponad 10 lat
Go to the top of the page
+Quote Post
scanner
post 17.06.2003, 06:45:37
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


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
uboottd
post 17.06.2003, 13:53:56
Post #3





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


czyzby chodzilo o ORDER BY ifnull(firma,nazwisko) ?
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: 3.05.2024 - 19:47