Pivot oder Umsetzung einer Tabelle in SQL Server ohne GRUPPIERUNG DURCH

Muss ich eine pivot-Tabelle in SQL Server mit der folgenden Struktur:

CREATE TABLE table1 (
    ColumnNumber int,
    RowNumber int,
    CellData nvarchar(50)
)

INSERT INTO table1 VALUES
(1, 1, 'Orange'),
(2, 1, 'Apple'),
(3, 1, 'Banana'),
(1, 2, 'Grape'),
(2, 2, 'Corn'),
(3, 2, 'Lemon'),
(1, 3, 'Tomato'),
(2, 3, 'Lettuce'),
(3, 3, 'Onion')

Brauchen und ich die daraus resultierende Tabelle wie folgt Aussehen:

Pivot oder Umsetzung einer Tabelle in SQL Server ohne GRUPPIERUNG DURCH

So dass die Zellen in ColumnNumber Zeile sind nun die Namen der Spalten der resultierenden Tabelle. Der schwierigste Teil ist, dass die Höhe der anderen Spalte zahlen ist variabel (so, jetzt haben wir 3 Spalten-Nummern, aber morgen könnte es sein, 6 oder 10).

Habe ich die PIVOT-Funktion, aber alle Beispiele sind eine GROUP BY, und, wie man hier sehen kann, brauche ich etwas mehr wie eine "transpose" - excel-Funktion.

Dank !!

Erstellen von SQL dynamisch. Ja, es ist hässlich. Es ist jedoch erforderlich, da jede Abfrage hat eine Feste Form (z.B. bekannt Spaltennamen), die unabhängig von den Daten. Es gibt zahlreiche Beispiele online-Suche für "dynamische pivot" - z.B. stackoverflow.com/questions/10404348/...
Auch stackoverflow.com/questions/12430512/... , stackoverflow.com/questions/1984306/... , etc

InformationsquelleAutor Alvaro VS | 2013-03-06

Schreibe einen Kommentar