Zanima me koja je najbolja varijanta u MySQL-u da dobijem sve record-e koji su child-ovi nekog parenta, pri cemu moze da bude parent-child vise nivoa. Primer:
-Tabela A
-Tabela B
-Tabela A referencira B record, i.e. A.B_id
-Relacija izmedju A i B je many-to-one.
-U tabeli B ima parent_id koji referencira parent B record. Parent child referenciranje moze da bude nula do nekoliko nivoa.
E sad, treba da pravim odredjene report-ove koji na bazi selectovanog B record-a daju redove iz tabele A, ali isto tako da ukljuci i one redove iz tabele A koji referenciraju neki od child-ova B recorda koji mogu biti bilo kog nivoa, ako takvi postoje.
Ono sto sam do sad nasao je da to svakako moram koristiti stored proceduru, jer broj nivoa B parent-child nije definisan. Sta je u tom slucaju bolje raditi?
1. Kreirati kompletan upit u stored proceduri
2. Kreirati samo view ili neki temp table iz stored procedure koji ce dati sve B recorde koji su bazirani na selektovanom B parent record-u, pa posle raditi dodati dodatni join sa A tabelom.
3. Nesto trece?
Hvala unapred,
Igor