Taky to zkusim vysvetlit, ale zkusim to pres tabulky
id_zam, id_manazer, name
1, null, Lojza
2, null, Tomas
3, 2, Maruska
4, 2, Renata
Lojza a Tomas jsou sefove. Tomas ma sekretarku Marusku, takze Maruska ma vyplneno i id_manazera. A taky ma pod sebou uklizecku.
A ted ty potrebujes SELECTem treba vypsat, seznam sefu a koho maji pod sebou. Ta tabulka by mela vypadat nejak takto
+-------+-----------------+
| name | zametsnanci |
+-------+-----------------+
| Lojza | |
| Tomas | Maruska, Renata |
+-------+-----------------+
SELECT name FROM zamestnanci WHERE id_manager IS NULL -- seznam sefu
SELECT name FROM zamestnanci WHERE id_manager = 2 -- seznam zamestnancu konkretniho sefa
A ted se to da udelat nekolika zpusoby. Bud to zgrupovat, jedna obri tabulka, elegantni dotaz. Nebo to prilepit jako sloupec. A nebo muzes vybrat id manazeru, osekat to treba na 0-30 a pouzit ten seznam pro vyber zamestnancu. Zpusob zalezi na tom, kolik toho mas v db a kolik toho chces vypisovat. To grupovani bude fungovat, pokud nemas v db moc zaznamu a moc propojeni. Takova bezna firma ma tak do 5 skupin vedeni, ale treba u google by to uz mohl byt casove problem a narocne na db.