Salve,

ho bisogno di aiuto per la creazione di un algoritmo. La situazione è la seguente: all'interno di un DB ho due campi, uno che mi identifica un percorso di un file (senza specificare l'unità che non mi interessa) e l'altro che mi identifica il nome del file stesso. Faccio un esempio pratico "musicale" che è la prima cosa che mi viene in mente :

codice:
CD   PERCORSO                      FILE

CD1  MUSICA\2005\Gennaio           canzone1.mp3
CD1  MUSICA\2005\Gennaio           canzone2.mp3
CD1  MUSICA\2005\Gennaio           canzone3.mp3
CD1  MUSICA\2005\Febbraio          canzone1.mp3
CD1  MUSICA\2005\Febbraio          canzone2.mp3
CD1  MUSICA\2005\Febbraio          canzone3.mp3
CD1  MUSICA_NUOVA\2009\Gennaio     canzone1.mp3

Da questa situazione vorrei creare un albero strutturato nel modo seguente (non mi interessa includere il nome del file... cioè in altri termini l'ultima stringa del campo percorso sarà una foglia del mio albero)

codice:
CD1
 |
 |___ MUSICA
 |       |
 |       |___2005
 |             |
 |             |___GENNAIO
 |             |
 |             |___FEBBRAIO
 |             
 |___ MUSICA_NUOVA
         |
         |___2009
               |
               |___GENNAIO
Ho provato a smanettare un bel pò ma ciò che ne è uscito fuori è inguardabile (sia a livello di codice che di risultato finale ) perchè tra ricorsioni e cose varie non riesco a "far capire" che, ad esempio, per intenderci, GENNAIO e FEBBRAIO appartengono allo stesso nodo MUSICA\2005, senza crearne uno nuovo. (Stessa cosa se avessi anche un percorso del tipo MUSICA\2006... non riesco a dirgli che 2006 "appartiene" al già esistente MUSICA).

Avevo anche pensato di cambiare la struttura del DB... ma vorrei evitare di giungere a questa soluzione anche perchè dovrei cambiare un pò di cose...

Spero di essere stato chiaro...

Grazie a chi mi darà una mano