Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> sortowanie wg. wlasnego zdefiniowanego porzadku
[fisher]
post 2.04.2003, 22:58:29
Post #1





Grupa: Zarejestrowani
Postów: 151
Pomógł: 0
Dołączył: 4.03.2003

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


Witam forumowiczow

Szukalem rozwiazania w archiwum ale nie udalo mi sie znalezc nic co by mnie usatysfakcjonowalo, wiec zwracam sie z prosba o podsuniecie pomyslu na rozwiazanie problemu

A wiec problem ksztaltuje sie nastepujaco.

Zajmuje sie tabelka o takiej strukturze

Kod
CREATE TABLE tabelka (

  id int(11) NOT NULL auto_increment,

  imie_nazwisko varchar(100) NOT NULL default '',

  tytul_naukowy varchar(50) NOT NULL default '',

  PRIMARY KEY  (id)

)


Jak widac jest to tabelka trzymajaca imiona i nazwiska oraz ich tytuly naukowe pewnych osob

Dostepne tytuly naukowe to np. 'prof. zw. dr.', 'mgr.', 'dr', 'lic' itd.

Chcialbym moc wyciagnac pewna grupe ludzi sortujac wg ich tytulu naukowego (pamietajac o hierarchi: a
wiec najpierw 'prof. zw.' pozniej 'prof' pozniej 'dr hab' pozniej 'dr' itd...)

Sortowanie alfabetyczne oczywiscie odpada

Czy mozna w mysql definiowac wlasne kolejnosci sortowan (klucze) ?

Jesli ktos wie to bede wdzieczny za naprowadzenie mnie na rozwiazanie


--------------------
Wszystko ... co na świecie interesujące, bierze się z czyichś dziwacznych myśli [David Lynch]
Andrzej Lepper to Kretyn<
Go to the top of the page
+Quote Post
lisu
post 3.04.2003, 01:12:51
Post #2





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 25.01.2003
Skąd: mazury, wawa

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


Nie jestem pewien czy o to chodzi, ale na stronie mysql'a znalazlem:
Cytat
The key used to fetch the rows are not the same one that is used to do the ORDER BY: SELECT * FROM t1 WHERE key2=constant ORDER BY key1


Z tego co rozumiem musisz zdefiniowac jeszcze jedna tabelke z hierachia profesorow, licencjatow itp i po niej sortowac. Od razu zaznaczam, ze jest to tylko przypuszczenie i nie stosowalem go, ani o 2 w nocy nie bede probowal.
Go to the top of the page
+Quote Post
Yasieq
post 3.04.2003, 12:49:41
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 23.03.2003
Skąd: Radom

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


Right, dodaj jeszcze jedno pole - nazwij go hierarchia... i w nim zrob hierarchie - np 1 - prof., 5 - mgr....

I sortuj wedlug pola hierarchia.
Go to the top of the page
+Quote Post
uboottd
post 14.04.2003, 21:12:58
Post #4





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

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


Moze srednio eleganckie, ale skuteczne w pewnych zastosowaniach:

Kod
CREATE TABLE tabelka (

  id int,

  nazwisko char(50),

  tytul enum('prof. zw.','dr.','mgr' ... itd )

)

i wtedy juz normalnie order by tytul.
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: 13.06.2025 - 08:39