Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sq]Obiekt matka a sortowanie
Bojakki
post 18.01.2008, 09:50:10
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


Mam tabele z rekordami, w ktorej niektore rekordy sa jakby matkami innych. Przyklad:

rodzaj to 1=corka, 2=matka, w kolumnie matka jest id obiektu, ktory dla tego obiektu jest matka.
[id][rodzaj][nazwa][matka]
[1][1][Zosia][2]
[2][2][Rozia][]
[3][1][Olga][2]
[4][1][Renia][5]
[5][2][Bronka][]
I teraz chce wyciagnac te wszystkie rekordy tylko w taki sposob by najpierw wypisane byly matki i pod nimi corki, czyli:
Cytat
Rozia
- Zosia
- Olga
Bronka
- Renia

Da sie tak zrobic, a jezeli tak to czy to jest bardzo obciazajace zapytanie? Bo tych rekordow w tebeli bedzie minimum 100 tys

Z gory dziekuje za pomoc

Ten post edytował Bojakki 18.01.2008, 09:59:35


--------------------
Go to the top of the page
+Quote Post
chemik1982
post 18.01.2008, 10:07:26
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 13
Dołączył: 20.03.2007
Skąd: Bydgoszcz

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


Powinno ci się przydać: (było już na forum).

http://www.sitepoint.com/article/hierarchi...data-database/2
http://dev.mysql.com/tech-resources/articl...hical-data.html


--------------------
fitmate.pl - aplikacje internetowe
Go to the top of the page
+Quote Post
Bojakki
post 18.01.2008, 17:52:57
Post #3





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

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


Dzieki za linka (http://dev.mysql.com/tech-resources/articles/hierarchical-data.html), znalazlem pod nim cos podobnego czego szukam, ale mam pytanie

Mam te tabele co w przykldzie, tyle, ze uproszczone do 1 poziomu:
+-------------+----------------------+--------+
| category_id | name | parent |
+-------------+----------------------+--------+
| 1 | ELECTRONICS | NULL |
| 2 | TELEVISIONS | 1 |
| 6 | PORTABLE ELECTRONICS | 1 |
+-------------+----------------------+--------+

Po tym zapytaiu:
  1. SELECT t1.name AS lev1, t2.name AS lev2
  2. FROM category AS t1
  3. LEFT JOIN category AS t2 ON t2.parent = t1.category_id
  4. WHERE t1.name = 'ELECTRONICS';

Mam:
+-------------+----------------------+
| lev1 | lev2 |
+-------------+----------------------+
| ELECTRONICS | TELEVISIONS
| ELECTRONICS | PORTABLE ELECTRONICS
+-------------+----------------------+
I jak to wyswielic by wygladalo tak:
ELECTRONICS
- TELEVISIONS
- PORTABLE ELECTRONICS

czyli by 'ELECTRONICS' bylo tylko raz przed wszytskimi obiektami dla ktorych jest matka.

Z gory dziekuje za pomoc!


--------------------
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: 19.07.2025 - 03:47