[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    47

    Optimierung beim Sql-Case

    Liebes Forum,

    das folgende SQL listet in einer Zeile für eine Konto-Nr. eine "Gesamtanzahl" und in Abhängigkeit von einem Statusfeld eine Aufteilung je nach Status an.
    Dabei sind 4 Stati explizit; 1 Spalte ist für den "Rest" gedacht.
    Diese Rest-Spalte habe ich über "not in" definiert.

    Gibt es da eine elegantere Methode; eine Art "Else-Zweig" anstelle des "not in"?

    SELECT KontoNr, sum(stanzahl) GESAMT,
    Sum(Case When ststatkz = 'S' Then stanzahl Else 0 End) "Davon S",
    sum(case when ststatkz = 'T' then stanzahl else 0 end) "Davon T",
    sum(case when ststatkz='P' then stanzahl else 0 end) "Davon P",
    Sum(Case When ststatkz='E' then stanzahl Else 0 End) "Davon E",
    sum(case when ststatkz not in('S', 'T', 'P', 'E') then stanzahl
    else 0 end) "Rest" FROM FILENAME where ....


    KontoNr Gesamt Davon S Davon T Davon P Davon E Rest
    100 24 10 8 4 1 1
    110 20 12 0 6 0 2
    usw.

    Vielen Dank für eure Hilfe.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    "else" gibt es nur im case.
    SQL kennt nur Ausdrücke je Spalte.
    Ein "Else" im Select macht keinen Sinn, da es dann unendliche Möglichkeiten gäbe die aber trotzdem falsch sein können.
    So hast du das schon richtig gemacht.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Aug 2006
    Beiträge
    47
    Danke für die rasche Antwort.

Similar Threads

  1. SQL Optimierung (Anfängerfrage)
    By KingofKning in forum IBM i Hauptforum
    Antworten: 43
    Letzter Beitrag: 12-03-15, 15:53
  2. SQL Datumsabfrage aus case Feld
    By mk in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 29-08-14, 09:24
  3. Lagermanagement von CASE Software
    By Kirsten Steer in forum Archiv NEWSblibs
    Antworten: 0
    Letzter Beitrag: 14-04-03, 12:39
  4. Case stellt Release 2.2 kaufmännischer Standardsoftware vor
    By Kirsten Steer in forum Archiv NEWSblibs
    Antworten: 0
    Letzter Beitrag: 26-08-02, 09:03
  5. Optimierung SQL Anweisung
    By Cassius in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 05-03-02, 19:28

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •