Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Select ... Pivot
Grumbler85
myCSharp.de - Member



Dabei seit:
Beiträge: 550
Herkunft: Rheingau Taunus

Themenstarter:

Select ... Pivot

beantworten | zitieren | melden

verwendetes Datenbanksystem: MS SQL 2005 EE

Hallo,

ich versuche Momentan per SQL eine Tabelle zu einer Kreuztabelle umzuformen.
Nun ist es so, dass SQL 2005 und auch SQL 2008 das angeblich können ohne auf irgendwelche CASE Befehle zurückzugreifen.
Allerdings bekomm ich es nicht hin von daher bitte ich um eure Hilfe.
Hier mein bisher erzeugter SQL:

SELECT
    OrderID, [2007], [2008]
FROM
    vBusinessVolumePerInvoice
PIVOT SUM(SubTotal)
    FOR(YEAR(InvoiceDate)) IN(2007, 2008)

Am Ende wäre es natürlich noch schön, wenn das Jahr nich angegeben werden müsste, sondern einfach alle Jahre aus der Datenbank genutzt würden - aber das ist nebensächlich.

Kompatibilitätsmodus ist auf SQL 2005
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
private Nachricht | Beiträge des Benutzers
GMLOD
myCSharp.de - Member

Avatar #avatar-2654.jpg


Dabei seit:
Beiträge: 1228

beantworten | zitieren | melden

SELECT
    OrderID, sum([2007]), sum([2008])
FROM
    vBusinessVolumePerInvoice
PIVOT SUM(SubTotal)
    FOR(YEAR(InvoiceDate)) IN(2007, 2008)

Ich hab sowas noch nie gemacht und kenne den SQL Server nicht, aber ich denke dir fehlt da die Aggregation.

Welchen Output willst du erzielen? Subtotals pro OrderID und Jahr? Wie sieht die Tabelle genau aus?
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von GMLOD am .
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!
private Nachricht | Beiträge des Benutzers