1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Umbau des Ergebnisses

Dieses Thema im Forum "PostgreSQL" wurde erstellt von danschna, 5 Dezember 2018.

  1. danschna

    danschna Benutzer

    Hallo zusammen, ich habe eine Abfrage, die folgendes Ergebnis liefert (siehe angehängte Datei):
    Ich hätte gerne folgende Darstellung:

    gescaheftsstelle | anzahl_ereigniswertung_1 | anzahl_ereigniswertung_2 | anzahl_ereigniswertung_3 | anzahl_kunden
    01 | 50 | 1 | 12 | 6426

    Ich möchte quasi pro geschaefsstelle nur einen Datensatz erzeugen
    Kann mir jemand helfen?
     

    Anhänge:

  2. castorp

    castorp Fleissiger Benutzer

    Sind es immer genau drei Auswertungen?
    Und was ist wenn die Anzahl der Kunden unterschiedlich ist für die drei Datensätze?
     
  3. danschna

    danschna Benutzer

    Nein, können auch weniger sein
     
  4. castorp

    castorp Fleissiger Benutzer

    Das Problem ist unter dem Namen "Pivot" oder "Crosstab" bekannt - nicht etwas in dem SQL stark ist. Das grundlegende Problem dabei ist, dass die Anzahl der Spalten einer Abfrage vor dem Ausführen der Abfrage bekannt sein muss.

    Wenn es eine (sinnvolle) Obergrenze gibt kann man das mit "bedingter Aggregierung" lösen, z.B. so:

    Code:
    select geschaeftsstelle,
           max(anzahl_hinweise) filter (where ereigniswertung = 1) as anzahl_ereigniswertung_1,
           max(anzahl_hinweise) filter (where ereigniswertung = 2) as anzahl_ereigniswertung_2,
           max(anzahl_hinweise) filter (where ereigniswertung = 3) as anzahl_ereigniswertung_3,
           max(anzahl_kunden) as anzahl_kunden
    from ereignisse
    group by geschaeftsstelle
    order by geschaeftsstelle;
    Wenn noch eine 4. Ereigniswertung dazukommt muss man halt das mit dem max() filter (...) für den Wert 4 wiederholen.

    Online Beispiel: crosstab, PostgreSQL - rextester
     
  5. danschna

    danschna Benutzer

    Super genial, hat geklappt. Vielen Dank
     
Die Seite wird geladen...
Ähnliche Themen - Umbau Ergebnisses
  1. klember
    Antworten:
    4
    Aufrufe:
    1.153

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden