Ciao a tutti,
Prima di tutto vi spiego la mia situazione:

Ho una tabella xTabella1 che è strutturata in questo modo:
campo1 int, campo2 varchar(80), campo3 xml

il campo3 come potete vedere è un xml e contiene all'interno una struttura variabile in base al record della tabella xTabella1.

Esempio:
nel record1 l'xml è così:

codice:
<?xml version="1.0" encoding="utf-8"?>
<TAG1>
  <TAG2>
    <CODICE>ALIM</CODICE>
    <DESCRIZIONE>Alimentatore</DESCRIZIONE>
    <VALORE1>1430</VALORE1>
  </TAG2>
  <TAG2>
    <CODICE>PC</CODICE>
    <DESCRIZIONE>PC</DESCRIZIONE>
    <VALORE1>45464</VALORE1>
  </TAG2>
  <TAG2>
    <CODICE>MTH</CODICE>
    <DESCRIZIONE>MOTHERBOARD</DESCRIZIONE>
    <VALORE1>500</VALORE1>
  </TAG2>
</TAG1>

nel record 2 così:

codice:
<?xml version="1.0" encoding="utf-8"?>
<TAG1>
  <TAG2>
    <CODICE>ALIM</CODICE>
    <DESCRIZIONE>Alimentatore</DESCRIZIONE>
    <VALORE1>1430</VALORE1>
    <VALORE2>130</VALORE2>
  </TAG2>
  <TAG2>
    <CODICE>PC</CODICE>
    <DESCRIZIONE>PC</DESCRIZIONE>
    <VALORE1>45464</VALORE1>
    <VALORE2>14730</VALORE2>
  </TAG2>
  <TAG2>
    <CODICE>MTH</CODICE>
    <DESCRIZIONE>MOTHERBOARD</DESCRIZIONE>
    <VALORE1>500</VALORE1>
    <VALORE2>1330</VALORE2>
  </TAG2>
</TAG1>
Come vedete la struttura dell'xml cambia da record a record.
A questo punto mi sono fatto una function in SQL che passandogli come parametro l'id del record mi legge l'elenco dei campi dell'xml, mi costruisce uno statement variabile mettendo come nomi colonna i tag del campo XML e scrivendomi i relativi valori.

Un esempio di ciò che torna la mia funzione passandogli per esempio l'id del record contenente il primo XML di esempio sarà:

codice:
CODICE          DESCRIZIONE       VALORE1

ALIM            Alimentatore      1430
PC              PC                45464
MTH             MotherBoard       500
Il mio problema però è che, essendo questa struttura variabile, non posso farmi tornare una TABLE dalla funzione perchè essa deve avere una struttura ben definita, e quindi questa funzione mi esegue semplicemente lo statement che mi sono costruito e me lo fa vedere a video, senza salvarlo da nessuna parte. Siccome devo però mettere questo risultato in join con un'altra tabella ho bisogno che questa funzione mi ritorni una tabella come risultato con la struttura variabile dell'xml.

E' possibile farlo?Come faccio altrimenti a fare join tra questo risultato e un'altra tabella? (la tabella risultante dall'xml ha la stessa struttura della tabella fisica che andrò ad interrogare e a mettere in join, tra l'altro)

Mi va bene qualsiasi soluzione: un'assembly fatto in VB.NET, piuttosto che una stored procedure o una function in SQL, piuttosto che qualsiasi altro modo :-(

Scusate se mi sono dilungato ma non avevo altra possibilità di farvi capire altrimenti.

Grazie anticipatamente!!!