In questo brevissimo articolo spiegherò come trasformare i risultati di una qualsiasi query in una coppia chiave/valore, dove la chiave è il nome della colonna e il valore il valore effettivo.
Questa può essere utile nel caso abbia una tabella che abbia valorizzato dei campi con nomi di colonne di un’altra tabella, e abbia la nece3ssità di andare in JOIN su queste.
Prendiamo ora la seguente query, molto semplice:
SELECT Foo FROM Bar
Che fornisce
Foo |
---|
100 |
200 |
300 |
400 |
500 |
Per trasformare questo risultato in una coppia chiave valore, utilizzo la funzione UNPIVOT (che eventualmente spiegherò in un altro post).
SELECT Key, Value
FROM Bar
UNPIVOT(Valore FOR Chiave IN (Foo))
Chiave | Valore |
---|---|
Foo | 100 |
Foo | 200 |
Foo | 300 |
Foo | 400 |
Foo | 500 |