Kapitel 14. Unwägbarkeiten
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Dieses Kapitel enthält Abfragen, die in kein anderes Kapitel passen, entweder weil das Kapitel, in das sie gehören würden, schon lang genug ist, oder weil die Probleme, die sie lösen, eher lustig als realistisch sind. Dieses Kapitel ist als "Spaß"-Kapitel gedacht, d. h. die Rezepte, die du hier findest, kannst du tatsächlich verwenden oder auch nicht; trotzdem sind die Abfragen interessant, und wir wollten sie in dieses Buch aufnehmen.
14.1 Erstellen von Kreuztabellenberichten mit dem PIVOT-Operator von SQL Server
Problem
Du möchtest einen Kreuztabellenbericht erstellen, um die Zeilen deiner Ergebnismenge in Spalten umzuwandeln. Du kennst die traditionellen Methoden des Pivotings, aber du möchtest etwas anderes ausprobieren. Du möchtest insbesondere die folgende Ergebnismenge zurückgeben, ohne CASE-Ausdrücke oder Joins zu verwenden:
DEPT_10 DEPT_20 DEPT_30 DEPT_40 ------- ----------- ----------- ---------- 3 5 6 0
Lösung
Verwende den PIVOT-Operator, um die gewünschte Ergebnismenge ohne CASE-Ausdrücke oder zusätzliche Joins zu erstellen:
1 select [10] as dept_10, 2 [20] as dept_20, 3 [30] as dept_30, 4 [40] as dept_40 5 from (select deptno, empno from emp) driver 6 pivot ( 7 count(driver.empno) 8 for driver.deptno in ( [10],[20],[30],[40] ) 9 ) as empPivot
Diskussion
Der PIVOT-Operator mag auf den ersten Blick seltsam ...
Get SQL Kochbuch, 2. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.