buondì a tutti.
sto facendo un programmino per lavoro, che dovrà andare in officina... praticamente serve per la gestione delle distinte di lavoro, serve per visualizzare i codici tramite una struttura ad albero basandosi su alcune relazioni inserite nel database.
in pratica, io nel db ho due tabelle:
anpar - che contiene il codice, la descrizione e il num. di disegno
anleg - che contiene il codice padre, il codice figlio (il pezzo che compone il padre) e la quantità per il codice figlio necessaria a comporre il padre.
ovviamente un padre può avere più figli. la struttura di anpar non interessa, è praticamente solo un elenco, anleg infece funziona così:
0000 - 0001 (il primo cod è il padre, in particolare 0000 è per indicar eun nuovo prodotto, e 0001 il figlio, diciamo una ruota)
0000 - 0002 (secondo figlio, diciamo una macchinina)
0001 - 0010 (diciamo un copertone)
0001 - 0011 (il cerchione)
0001 - 0012 (i dadi)
0002 - 0020
0002 - 0021
0020 - 0001 (eccola, la macchinina è comopsta dalla ruota di cui sopra)
praticamente può capitare che quello che in un punto del rampo è un prodotto, può essere utilizzato come componente per costruire un altro prodotto, quindi può essere presente in più punti dell'albero...
quindi, se io volessi implodere 0012 e vedere in quali punti dell'albero è utilizzato, dovrei ottenere una cosa del genere:
0012 - 0001 - 0000
0012 - 0001 - 0020 - 0002 - 0000
ora...a parole è abbastanza semplice (se non è chiaro come ho spiegato chiedete pure), però la realizzazione è un casino pazzesco... come fareste voi per arrivare ad un risultato come questo qua sopra, partendo dalla tabella che ho postato prima?
è 3 giorni che ci sto smadonnando sopra, non riesco a trovare niente... tenendo conto che non posso utilizzare dei livelli inseriti all'interno del database perchè come ho già detto lo stesso codice può essere presente in più punti dell'albero...