Archive for the ‘tabelle pivot’ Tag

Pivot Table in SQL Server/1

La creazione di Tabelle Pivot in SQL Server non è mai stato un compito particolarmente agevole; fino alla versione 2000 l’unica possibilità era quella di utilizzare le istruzioni T-SQL case-when con la funzione di aggregazione GROUP BY, mentre dalla versione 2005 è stata introdotta la clausola PIVOT che, se non altro, evita la necessità di indicare i campi da aggregare.
Per velocizzare il lavoro, ho creato una classe C# (Clicca qui per scaricarla) che, a partire da una connessione SQLConnection e da una serie di parametri specifici (campi da inserire sulle righe, campo da inserire sulle colonne, tipo di valore da aggregare), restituisce la stringa T-SQL in grado di visualizzare la tabella pivot richiesta. Tale stringa non utilizza l’istruzione PIVOT ed è pertanto utilizzabile anche con le versioni precedenti di SQL Server. Per creare il risultato, la classe in C# utilizza la classe in VB.NET per il parsing delle stringhe SQL che ho presentato in un post precedente; quindi, è necessario scaricare anch’essa, creare la relativa dll e utilizzarne il riferimento.