![]() |
|
SQL Server 2005: PIVOT / UNPIVOT / Kreuztabelle in einer View?Software Office, Browser, E-Mail-Clients, Datenbanken etc. |
|
|
![]() |
|
|
Themen-Optionen |
|
|
#1 (permalink) |
|
Hallo zusammen,
ich weiß zwar, dass es beim SQL Server 2005 eine PIVOT/UNPIVOT-Funktion gibt, blicke da aber leider nicht richtig durch. Vielleicht kann mir jemand erklären, wie ich eine VIEW erstelle die folgende Ausgabe liefert. Als Beispiel eine Tabelle mit den Feldern Name, Datum, Umsatz. Als Ergebnis hätte ich gerne folgendes: ***********01*****02*****03*****04******usw. Name1****1000***1500***2500***1000****** Name2*****800****700****800******0****** Also das Datum in der Form TAG.MONAT.JAHR muss aufgeteilt/gruppiert werden nach Monat. Die Werte entsprechend gruppiert nach NAME sollen dann wie in einer PIVOT-Tabelle bei Excel angezeigt werden. Versteht ihr was ich meine? Kann mir jemand helfen? Vielen Dank!
__________________
Gruss faulwurf |
|
|
|
|
|
|
|
|
#2 (permalink) |
|
AW: SQL Server 2005: PIVOT / UNPIVOT / Kreuztabelle in einer View?
PIVOT habe ich noch nicht genutzt. Wer braucht das schon?
![]() Nur damit ich es richtig verstehe: Du hast eine Tabelle die so aussieht: Code:
+-------+------------+---------+ | NAME | DATUM | UMSATZ | +-------+------------+---------+ | Name1 | 2007.03.15 | 1000.00 | | Name2 | 2007.05.23 | 512.12 | | Name1 | 2007.11.12 | 3455.00 | | Name3 | 2007.10.02 | 1233.00 | | Name3 | 2007.04.27 | 1234.00 | +-------+------------+---------+ Code:
+-------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+ | NAME | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | +-------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+ | Name1 | | | 1000.00 | | | | | | | | 3455.00 | | | Name2 | | | | | 512.12 | | | | | | | | | Name3 | | | | 1234.00 | | | | | | 1233.00 | | | +-------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+ Code:
SELECT NAME [0], [1], [2], [3], [4] ...
FROM
(SELECT NAME, DATUM, UMSATZ
FROM UmsatzTable) AS SourceTable
PIVOT
(
SUM(UMSATZ)
FOR substr(DATUM,3,5) IN ([0], [1], [2], [3], [4] ...)
) AS PivotTable
__________________
Man reiche mir mein LART! Kein Support bei IT-Fragen via ICQ, Skype, PN oder Email!
(Stammuser ausgenommen) |
|
|
|
|
![]() |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| SQL Server 2005 - SSIS Packages verwalten? | faulwurf | Software | 0 | 04.09.2007 09:05 |
| Hamburg LIVE: WWE RAW Survivor Series 2005 Tour aus Hamburg (16.11.2005) | JohnCena266 | Sport | 8 | 19.06.2007 13:18 |
| [Biete] Point of View Geforce 7900 GTX | faulwurf | Tauschbörse | 3 | 20.11.2006 08:54 |
| Unterschiede zwischen Windows 2000 Server und 2003 Server | porschinho | Software | 1 | 03.03.2004 16:56 |