[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Apr 2004
    Beiträge
    105
    Ich möchte nicht für jeden Monat einen Datensatz, sondern die Anzahl der Rechnungen für jeden Monat in einem Datensatz.
    Als Beispiel hier der die Summes des Warenwerts für jeden Monat und Gesamtsumme:
    PHP-Code:
    Select 'UI'  KZ05RGKZ06RGPROGRG
           
    VKGBRGKDA5RG,             
          (CASE 
    WHEN KDI8RG <> 0 THEN KDI8RG ELSE KDA8RG END), 
           
    RGJJRG,
           
    Sum(Case When RGMMRG =  1 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG =  2 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG =  3 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG =  4 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG =  5 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG =  6 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG =  7 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG =  8 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG =  9 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG 10 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG 11 then BWESRG else 0 End),
           
    Sum(Case When RGMMRG 12 then BWESRG else 0 End),
           
    Sum(BWESRG) as GesamtSumme
    From     INFRGP
    Where    RGJJRG 
    2006
    Group by KZ05RG
    KZ06RGPROGRGVKGBRG
             
    KDA5RGKDI8RGKDA8RGRGJJRG 

    Hier sagt SQL/400 "Spalte RGMMRG oder Ausdruck in SELECT-Liste nicht gültig."
    PHP-Code:
     Select 'AR'  KZ05RGKZ06RGPROGRG,                              
           
    VKGBRGKDA5RG,                                              
          (CASE 
    WHEN KDI8RG <> 0 THEN KDI8RG ELSE KDA8RG END),          
           
    RGJJRG,                                                      
          (Case 
    When RGMMRG =  1 then Count(distinct(BENRRG)) else 0 End),
           
    Count(distinct(BENRRG))                                      
    From     INFRGP                                                     
    Where    RGJJRG 
    2006                                              
    Group by KZ05RG
    KZ06RGPROGRGVKGBRG,                            
             
    KDA5RGKDI8RGKDA8RGRGJJRG 
    Da muß es doch eine Lösung geben....

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.796
    Wenn du Group By verwendest, musst du alle Felder aufführen, die keine Aggregat-Funktion haben:

    'UI' ,
    (CASE WHEN KDI8RG <> 0 THEN KDI8RG ELSE KDA8RG END),

    Spalten, die nicht selektiert sind, dürfen in Group By auch nicht vorkommen:

    KDI8RG, KDA8RG

    Der Syntax-Checker liefert da ggf. auch mal falsche Hinweise.
    Ist das Feld RGMMRG denn auch tatsächlich in der Datei ?
    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
    Feb 2001
    Beiträge
    20.796
    count(distinct (Case When RGMMRG = 1 then BENRRG else NULL End)),

    Die Aggregatfunktion muss aussen liegen !
    NULL wird nicht mitgezählt.
    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
    Apr 2004
    Beiträge
    105
    Zitat Zitat von Fuerchau
    count(distinct (Case When RGMMRG = 1 then BENRRG else NULL End)),

    Die Aggregatfunktion muss aussen liegen !
    NULL wird nicht mitgezählt.
    Super, das war's!!!

Similar Threads

  1. SELECT..FOR UPDATE/Embedded SQL
    By KB in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 28-04-16, 15:42
  2. sql select mit zusätzl. Feldern
    By rr2001 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-07-06, 10:56
  3. Cobol-Programm mit Embedded SQL (SELECT CASE)
    By klausgkv in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 08-06-06, 14:47
  4. Satzanzahl Select (embedded SQL)
    By Schorsch in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 08-09-05, 16:22
  5. SQL mit anderer DB
    By Atomik in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 21-11-01, 12:05

Berechtigungen

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