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.