Otóż mam pewien problemik... Chce wyswietlic zadania przydzielne dla konkretnego użytkownika.
Są 2 tabele:
ZADANIA_KAT (w ktorej znajduja sie kategorie zadan- z max 3ma zagłębieniami)
idk- ID kat
nazwa-nazwa kategorii
rodzic- jesli jest zero jest to kategoria glowna, jesli posiada pole jakas liczbe to dziecko rodzica o takim ID
ZADANIA_PRZ (przydzielone zadania)
idp- ID przydzielonego zadania
iuzy- ID uzytkowniak dla ktorego ma byc przydzielona ta kategoria zadan
kat - ID kategorii zadania do przydzielenia (z tabeli ZADANIA_KAT - idk)
zag - to dodalem dodatkowo, oznacza jakie zaglebienie ma ta przydzielona kategoria - jesli jest zero jest to kategoria glowna, jesli 1 to podkategoria, jest 2 to podpodkategoria
No i chodzi mi o wyswietlanie tych kategorii uzytkownikowi.
Czyli zalozmy ze w tabeli ZADANIA_PRZ jest takie cos:
idp iuzy kat zag
1 15 1 0
2 15 3 1
3 15 4 1
4 15 6 2
5 15 7 2
ZADANIA_KAT:
idk nazwa rodzic
1 zad1 0
2 zad2 0
3 zad2_1 2
4 zad2_2 2
5 zad3 0
6 zad3_1 5
7 zad3_1_1 6
8 zad3_1_2 6
wiec teraz najwazniejsza rzecz, mianowicie wyświetlanie.
Jesli nie bylo by zaglebien bylo by to proste, bo wyswietlilbym kat zadan dla uzytkownika o ID=15 wszytskie ktore maja "kat" z ZADANIA_PRZ ale problem jest gdy przydzielone zadania to podkategoria a ja znam tylko ich id w tabeli ZADANIA_KAT
bo to ma byc cos takiego ze w pierwyszm kroku wyswietlamy kategorie glowna przydzielonych zadan, po kliknieciu w nia podkategorie jesli jest a osttania mozliwosc to wyswietelnie podpodkategorii..
Nie wiem czy mnie dobrze rozumiecie ale mam po prostu problem z wyswietleniem np kategorii glownej przydzielonego zadania gdy w tabeli ZADANIA_PRZ jest informacja tylko o ID dziecka tej kategorii glownej.
PROSZE O POMOC!
Ok chodzilo mi o cos takiego(to wyswietlanie kat glownych udostepnionych zadan):
SELECT k.* FROM zadania_kat k JOIN zadania_prz p ON k.idk=p.kat WHERE p.zag=0 AND iuzy=15 UNION ALL SELECT k.* FROM zadania_kat k JOIN ( SELECT rodzic FROM zadania_kat k JOIN zadania_prz p ON k.idk=p.kat WHERE p.zag=1 AND iuzy=15 ) v ON v.rodzic=k.idk UNION ALL SELECT k.* FROM zadania_kat k JOIN ( SELECT k.rodzic FROM zadania_kat k JOIN ( SELECT rodzic FROM zadania_kat k JOIN zadania_prz p ON k.idk=p.kat WHERE p.zag=2 AND iuzy=15 ) v ON v.rodzic=k.idk ) v ON v.rodzic=k.idk ORDER BY sort
mozna to jakos prosciej napisac?