Web design and hosting, database, cloud and social media solutions that deliver business results
  • Geschäftslösungen
    • Robotische Prozessautomatisierung
    • Software
    • Datenbank-Beratungsdienste
      • Datawarehouse-Dienste
      • Datenintegration
      • PowerBI
      • Werkzeuge
    • Website Design
      • Weblokalisierung und -übersetzung
      • Website Sicherheit
    • Cloud Services
      • Microsoft Azure
    • Microsoft Office
    • Sozialen Medien
  • Akademie
    • Unsere Testumgebung
    • Datenbankdesign lernen
      • SQL Server 2008 Wartungsplan
      • Offene Abfrage abrufen
      • Verwenden von SQL Server Daten
      • Verwenden von SQL Server Datum
      • Verwenden von SQL Server Funktionen
      • Verwenden von SQL Server Pivot-Unpivot
    • Lern Web Design
      • ASP-NET
      • CSS
      • Verwendung von JavaScript
    • Lernen von IT-Diensten
      • Anfordern von SSL und Generierung von PFX-Datei in OpenSSL Simple Steps
  • Über
    • Bloggen
    • Karriere
    • Mannschaft
      • Adrian Ananda
      • Ali Al-Amine
      • Ayse Hur
      • Chester Copperpot
      • Gavin Clayton
      • Sai Gangu
      • Suneel Kumar
      • Surya Mukkamala
    • Mappe
Deutsch (DE)English (EN-GB)English (EN-US)Español (ES)हिंदी (HI)italiano (IT)日本語 (JA)

SQL Server mit PIVOT-Beispiel

SQL Server, der eine einfache PIVOT-Funktion in einem realen Szenario verwendet, in dem die Anzahl der Spalten immer bekannt ist.
Verwendung von Pivot/Unpivot

Im letzten I-Artikel habe ich über die Verwendung von UNPIVOT geschrieben, dies ist die entgegengesetzte Funktion PIVOT, bei der Zeilen in Spalten umgewandelt werden. Ich habe einige Daten verwendet, die möglicherweise nicht unbedingt ein Beispiel aus der realen Welt sind, uns aber genügend Optionen zum Spielen bieten mit.

Mehr: SQL Server mit PIVOT-Beispiel

Dummy data

MyRowMyColCalcCol
111
131
1s1
221
226
231
321
331
333
355

Als erstes müssen wir diesen Dummy-Datensatz erstellen, damit wir das mit dem folgenden Code tun können.

Wir werden auch einen Tabellentyp erstellen (diese können die Leistung von temporären Tabellen verbessern).

SQL

CREATE TYPE c1bs_Piv AS TABLE(MyRow NVARCHAR(10),--Row IDMyCol NVARCHAR(10),--Value to become columnCalcCol INT--Value to be Summed)GODECLARE @Piv c1bs_PivINSERT INTO @PivSELECT '1','1',1 UNIONSELECT '1','s',1 UNIONSELECT '1','3',1 UNIONSELECT '2','2',6 UNIONSELECT '2','2',1 UNIONSELECT '2','3',1 UNIONSELECT '3','5',5 UNIONSELECT '3','2',1 UNIONSELECT '3','3',1 UNIONSELECT '3','3',3
Um die Daten zu pivotieren, möchten wir den folgenden SQL-Code schreiben.
SELECT *FROM @PivPIVOT (SUM(CalcCol)FOR MyColIN ([1],[2],[3])) AS MyTable

Und dies wird den folgenden Datensatz zurückgeben. Beachten Sie, dass dort, wo wir oben die Spalten „5“ und „s“ hinzugefügt haben, diese damit übersprungen würden, und im nächsten Artikel werden wir sicherstellen, dass wir sie erfassen.

Mehr: SQL Server mit PIVOT mit Beispiel für dynamisches SQL
MyRow123
11NULL1
2NULL71
3NULL14

Author

Was this helpful?

Please note, this commenting system is still in final testing.
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink Cookie-RichtlinieSeitenverzeichnis

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
Die Einstellungen auf dieser Seite sind so eingestellt, dass alle Cookies zulässig sind. Diese können auf unserer Cookie Policy & Settings Seite geändert werden. Wenn Sie diese Seite weiter nutzen, stimmen Sie der Verwendung von Cookies zu.
Ousia Logo
Logout
Ousia CMS Loader