[NEWSboard IBMi Forum]
Seite 1 von 3 1 2 ... Letzte
  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    53

    ET-NUMMER, LETZES BESTELLDATUM

    Hallo,

    ich habe folgendes Problem, aus einer Tabelle der AS400 mit folgendem Inhalt (verkürzt) :

    ET-NUMMER LETZES BESTELLDATUM

    100 01.01.2011
    100 03.02.2011
    100 04.04.2011
    101 03.12.2009
    102 04.05.2008
    102 01.05.2011 usw.

    soll jeweils zur Artikelnummer die letzte Bestellung ausgegeben werden, mit Query hab ich da sicher keine Möglichkeit, wie mit SQL ?
    Danke im Voraus für die Hilfe
    eric
    Last edited by Eric; 18-05-11 at 18:00. Grund: Schreibfehler

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    select ETNummer max(Bestelldatum)
    from MyFile
    group by ETNummer

    Voraussetzung ist natürloch, dass das Datum sortierfähig ist.
    Ansonsten muss man es sortierfähig umdrehen, was auch mit SQL geht.

    Du kannst dir darüber dann auch eine View erstellen
    CREATE VIEW MYVIEW AS
    SELECT ...
    die du dann im Query verwenden kannst.
    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
    Sep 2005
    Beiträge
    53
    Hallo, vielen Dank, also müsste das so aussehen :

    select ETNummer max(Bestelldatum)
    from MyFile
    order by Bestelldatum asc
    group by ETNummer

    oder ? Danke nochmals eric

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Eric Beitrag anzeigen
    Hallo, vielen Dank, also müsste das so aussehen :

    select ETNummer max(Bestelldatum)
    from MyFile
    order by Bestelldatum asc
    group by ETNummer

    oder ? Danke nochmals eric
    Group By und Order By sind in der falschen Reihenfolge.
    Da Max(Bestelldatum) verwendet wird macht eine Sortierung nach Bestelldatum keinen Sinn und ist sowieso nicht zulässig.
    Wenn das Ergebnis nach dem maximalen Bestell-Datum absteigend sortiert werden soll, muss im Order By Max(Bestelldatum) angegeben werden.

    Was Baldur mit sortierbar meinte war, wenn das Datum z.B. im Format TagMonatJahr gespeichert, muss es zunächst aufgedröselt und wieder neu zusammengesetzt werden (JahrMonatTag), damit der Maximal-Wert richtig ermittelt werden kann.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Zitat Zitat von Eric Beitrag anzeigen
    ... soll jeweils zur Artikelnummer die letzte Bestellung ausgegeben werden, mit Query hab ich da sicher keine Möglichkeit, wie mit SQL ?
    Im Query/400 gibt's unter "Summenfunktionen für Bericht auswählen" die Auswahl "4=Größter Wert".

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Eine Sortierung ist tatsächlich nicht erforderlich, da ja das MAX ermittelt wird:

    select ETNummer, max(Bestelldatum) as Bestelldatum
    from MyFile
    group by ETNummer
    [order by Bestelldatum asc]

    Das order by sortiert das Ergebnis!
    In einer View ist order by unzulässig.
    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

  7. #7
    Registriert seit
    Sep 2005
    Beiträge
    53

    DANKE und Datum aufdrösseln wie ?

    Hallo, vielen Dank für die Hilfe, der SQL von B. Fuerchau bringt das Ergebniss was ich möchte !

    Weil es angesprochen wurde, das Datum aufdrösseln geht bitte wie ?

    DANKE IM VORAUS ERIC

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Das hängt von der Speicherform ab.
    Beispiel TTMMJJJJ

    substr(digits(MyDate), 5, 4) concat substr(digits(MyDate), 3, 1) concat substr(digits(MyDate), 1, 2)

    Je nach dem, was man machen will sähe dein Max(Bestelldatum) dann so aus:

    max(
    substr(digits(Bestelldatum), 5, 4) concat substr(digits(Bestelldatum), 3, 1) concat substr(digits(Bestelldatum), 1, 2)
    ) as Bestelldatum

    So kann man fast alles verwursten.
    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

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ich würde allerdings den Monat 2stellig definieren!

    max(
    substr(digits(Bestelldatum), 5, 4) concat substr(digits(Bestelldatum), 3, 2) concat substr(digits(Bestelldatum), 1, 2)
    ) as Bestelldatum

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  10. #10
    Registriert seit
    Sep 2005
    Beiträge
    53

    DANKE


    HALLO,

    vielen Dank, werd das so mal machen und mich melden !

    DANKE ERIC

  11. #11
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nunja, Teppfuhler sollten durchaus mal erlaubt sin .
    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

  12. #12
    Registriert seit
    Sep 2005
    Beiträge
    53

    Thumbs up DANKE

    Hallo,

    danke, ja, damit kann man jedes Feld wie man will drehen, wenden und verbiegen !

    Hab das soeben auf einer AS400 getestet !

    vielen Dank ERIC

Similar Threads

  1. laufende Nummer in Select
    By cimbala in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 10-05-10, 07:51
  2. Papierfach Nummer 3
    By mack1964 in forum NEWSboard Drucker
    Antworten: 2
    Letzter Beitrag: 25-02-08, 12:36
  3. Relativer Record Nummer
    By RLurati in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 27-10-06, 15:13
  4. DDS Font, was verbirgt sich hinter der Nummer?
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 18-07-06, 09:31
  5. LPAR Nummer
    By Muchi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 28-11-05, 11:25

Berechtigungen

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