[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jul 2003
    Beiträge
    338

    Smile SQLRPGLE group by

    Aus einer Lagerdatei sollen nach Auswahl bestimmte Datenbestände ausgefiltert werden und nach bestimmten Merkmalen verdichtet werden.

    Ene declare-Anweisung kann nach meiner Ansicht so aussehen:

    PHP-Code:
    declare C_bestand cursor for
        
    select befirmbelortbequalbegros  ....  sum(bemenge)
        
    from bestand
          where befirm  
    =  :bifirm
              
    and belort  >= :vonlort
              
    and belort  <= :bislort
              
    and  .....
         
    group by bequalbedessbefarb ... 
    So würde ich durch den fetch mehrere Zeilen für die Subfile-Anzeige erhalten, jeweils mit summierter Menge der in GROUP BY definierten Merkmale.

    Jetzt kommt die Frage:
    Ich möchte für dieselben Gruppierungen eine weitere Summe der Menge erhalten, die aber nur einen Teil der jeweiligen Datensätze umfasst, und zwar alle, die im Feld AUFTR = 0 sind.

    Kann ich dieses in derselben DECLARE-Anweisung definieren ?


    mfg Ludger

  2. #2
    Registriert seit
    Sep 2005
    Beiträge
    54
    Morgen Ludger,




    Sum

    berechnet die Summe aller Werte, welche der numerische Ausdruck bereitstellt

    Syntax

    Sum ([All | Distinct] )

    Parameterliste








    All
    bei der Summation werden alle Werte verarbeitet, welche der numerische Ausdruck zurückliefert
    Distinct
    aus der Liste, welche der numerische Ausdruck bereitstellt, werden alle Duplikate entfernt, nur über diese Teilmenge wird summiert
    Ausdruck, meist eine Spalte oder ein spaltenverarbeitender Ausdruck, der numerische Daten zurückliefert. Unterabfragen und Aggregatfunktionen sind nicht zulässig.
    Rückgabewert
    Summe der Werte im genauest möglichen bzw. notwendigen Typ
    Nach meiner Erfahrung und nach google (siehe oben), sieht es für mich so aus, als wenn du das nicht in der Declare Anweisung unterbringen kannst. Aber vielleicht kennt sich einer besser in SQL aus.


    Du könntest das nur mit einer "Where" Bedingung hinbekommen, was aber den Select der anderen Daten auch beeinflusst und das willst du ja wahrscheinlich nicht.

    Mfg KAMPI

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    sum(case auftr when 0 then bemenge else 0 end) as mengeA0
    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

  4. #4
    Registriert seit
    Jul 2003
    Beiträge
    338

    Cool

    Vielen Dank für die Antworten.


    @Baldur

    genau das war es (case werde ich mir merken).

  5. #5
    Registriert seit
    Sep 2005
    Beiträge
    54
    Mmh man lernt nie aus, wusste ich auch nicht und dachte, auch nach googeln, das das nicht geht.
    Naja noch mal was gerlernt für dieses Jahr.

    Mfg KAMPI

    P.S. Allen ein schönes Weihnachten und einen guten Rutsch!! Bin ab morgen erst mal 1 1/2 Wochen ohne I-Net.

Similar Threads

  1. Authorization Problem nach ändern der Primary Group
    By ChrisX in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 11-10-06, 15:31
  2. Group und fetch first xx rows
    By linguin in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 04-08-06, 10:38
  3. sqlrpgle
    By guru30 in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 22-02-06, 14:53
  4. *zoned bei SQLRPGLE Programm
    By Stefan_Sk in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 12-07-05, 13:04
  5. iSeries-Vortrag bei der Java User Group Stuttgart
    By CMueller@must.de in forum NEWSboard Java
    Antworten: 1
    Letzter Beitrag: 01-10-04, 09:29

Berechtigungen

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