Jump to content

Spalten in Zeilen?


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe eine Aufgabenstellung in SQL-Server 2008, die ich nicht gelöst bekomme. Ich habe eine Tabelle mit ganz vielen Wertespalten für die Monatswerte aller Perioden. Zu den 12 Monaten kommen auch noch 5 Jahre, so dass ich 60 Wertespalten habe. Die haben die schönen Feldnamen 01-2005, 02-2005, ...

Nun brauche ich die aber schön normalisiert (?), d.h. ein Wert je Zeile. Ich bräuchte also in der Abfrage eine zusätzliche Spalte, die den Wert "01-2005" o.ä. führt und dann erst den eigentlichen Wert.

Nun möchte ich nicht 60 einzelne Abfragen bauen, die dann in eine Tabelle die Daten anfügen, sondern alles in einer Query erschlagen. Geht so etwas? Wenn ja, wie?

Vielen Dank im Voraus

Dirk

  • 5 Wochen später...
Geschrieben

Man kann Daten "unpivotieren" - hier ein Beispiel was m.E. helfen sollte - ggf. ein wenig damit experimentieren.

 

INSERT INTO tabelle_unpivotiert

SELECT NUMMER, NAME, INHALT

FROM

(SELECT Kundennummer AS NUMMER,

01-2005 AS 01-2005, 02-2005 AS 02-2005,

03-2005 AS 03-2005, 04-2005 AS 04-2005,

...

FROM tabelle_pivotiert

WHERE ... ) NAME

UNPIVOT

(NAME FOR INHALT IN

(01-2005, 02-2005, 03-2005, 04-2005, ...)

)AS UNPIVOTIERT;

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...