[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2006
    Beiträge
    2.114
    Hallo *all,
    wer zerschlägt dann mal den gordischen Knoten in meinem neuronalen Netz.

    Habe hier einen Kundenstamm und dazu eine Auftragsdatei.
    Ich möchte jetzt zu der Auftragsdatei jeweils den letzten Auftragssatz nach Datum haben.


    Abfrage:

    Code:
    select t01.adkto, max(t02.akkdtl), t02.akanr from               
     adr01pf t01 left join ako01pf  t02                 
                on t01.adkto = t02.akkto                
             where adfa  = 1                            
               and adsts = 0                            
               and akkdj1 = 1                           
               and (akkdtl > 150101 and akkdtl < 990000)
               group by adkto, akanr, akkdtl            
               order by adkto, akkdtl
    Ergebnis:
    nummer Nr.
    Code:
      1001      150.422     149326  
      1001      150.914     150209  
      1006      150.128     563217  
      1006      150.428     563933  
      1009      151.008     564651
    Aber irgendwas ist ja noch falsch, sonst würde die Kunden 1001 nicht zweimal auftauchen.

  2. #2
    Registriert seit
    Jan 2007
    Beiträge
    1.002
    is ja klar, wenn du auch noch nach Auftragsnummer gruppierst
    kf

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    select t01.adkto, max(t02.akkdtl), t02.akanr ...
    group by adkto, akanr, akkdtl
    Aggregate sind Ergebnisfelder der Gruppierung.
    Gruppierst du auf Aggregaten kannst du das Aggregat auch gleich weglassen.

    Fluch der Erlaubnis, dass auf nicht selektierten Felder gruppiert und sortiert werden darf.
    Früher wäre der group by akkdtl abgewiesen worden da dieser nicht selektiert sondern im Aggregat verwendet wird.
    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
    Aug 2006
    Beiträge
    2.114
    Ich hatte die Abfrage erst ohne group und order gemacht, was er aber so gar nicht mag. Hatte aber im Hinterkopf das er auch meckert wenn nicht alle Felder aus dem select im Group / Order stehen.

    Habe jetz mal nur group by adkto gemacht, und es funzt.

    Alles ein Frage der Syntax. Danke für die Hilfe
    GG

    Wobei wenn ich die akanr haben wollte macht er es wieder nicht sauber egal ob group oder nicht group oder ist es doch die Grube in die man fällt ;-)

Similar Threads

  1. Left join Verständnis Frage
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 17-11-14, 14:52
  2. SQL mit Update + Join
    By Harald.Wallukat in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 06-12-13, 09:37
  3. LEFT OUTER JOIN
    By GS in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 21-11-02, 08:51
  4. Join File
    By muadeep in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 05-07-02, 10:37
  5. SQL und AS/400 JOIN
    By HoScHiE in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 11-07-01, 07:57

Berechtigungen

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