con sql server - da 2005 in poi - puoi usare l'istruzione PIVOT, però devi sapere già da prima quante colonne avrai