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

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

Link zu diesem Kommentar
  • 5 Wochen später...

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;

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...