[NEWSboard IBMi Forum]

Thema: SQL

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    du kannst die zwei Felder zu einem timestamp zusammenfassen (timestamp ( datumsfeld, zeitfeld) und dann danch gruppieren, oder was immer du willst. Auch die kleinste Zeit zum größten Datium geht, dann muss man die Zeit vom Datum abziehen (timestamp(datumsfeld) - hour(zeitfeld) hours
    - minute(zeitfeld) minutes - second(zeitfeld) seconds) dann das maximum davon.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Mir ist zwar nicht klar warum Du weder Common Table Expressions, noch verschachtelte Sub-Selects verwenden kannst.
    Wenn ich das richtig verstanden habe, willst Du zwar den Maximal bzw. den Minimal-Wert der zusammengefassten Datums- und Zeit-Werte, aber dennoch 2 Spalten ausgeben, ... und das ohne CTE.

    Das Problem bei Max() und Min() ist, dass Du nur einen Wert angeben kannst, du aber dennoch 2 Spalten möchtest und das ohne CTE!

    Dann musst Du beide Werte zusammenfassen, und dann den Maximal- bzw. den Minimal-Wert wieder auseinanderdröseln. Wirklich nicht schön, aber so sollte es gehen:
    Code:
    Select Guppierungskriterien,
           Dec(Left( Max(Digits(CreationDate) concat Digits(CreationTime)), 8), 8, 0) MaxDate,
           Dec(Right(Max(Digits(CreationDate) concat Digits(CreationTime)), 6), 6, 0) MaxTime,
           Dec(Left( Min(Digits(CreationDate) concat Digits(CreationTime)), 8), 8, 0) MinDate,
           Dec(Right(Min(Digits(CreationDate) concat Digits(CreationTime)), 6), 6, 0) MinTime,
      from YourSchema.YourTable
      Group By Gruppierungskriterien
      Order BY ...;
    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

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Natürlich geht das auch ohne CTE mit Derived Table.

    select TABLENAME , Schlüssel , ANLAGEUSER, substr(andat, 1, 10), substr(andat, 11, 8)
    from (

    select TABLENAME , Schlüssel , ANLAGEUSER, max(andat) as andat
    from (
    select TABLENAME , Schlüssel , ANLAGEUSER
    ,CHAR(Datum) concat char(Zeit) as andat
    from mytable
    ) hugo
    group by TABLENAME , Schlüssel , ANLAGEUSER

    ) hugo2

    Wenn deine Felder vom Typ DATE und TIME sind und du die TIMESTAMP-Funktion nimmst wie oben beschrieben, kannst du die Werte auch wieder per Date(andat), Time(Andat) splitten.

    Eine CTE ist nur eine andere Schreibweise.
    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
    Mar 2002
    Beiträge
    5.365
    ... besser weil einfacher ist ohnehin eine View!!!

    D*B

    und PX (pleipt xund)
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Jein.
    CPYTOIMPF verlangt eine TABLE/PF.
    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

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Jein.
    CPYTOIMPF verlangt eine TABLE/PF.
    ... von CPYTOIMPF habe ich in der Frage nix gesehen - und überdies geht das bei mir auch mit einer View.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Stimmt! Wieder was gelernt;-).
    Außerdem habe ich da 2 verschiedene Threads vermischt. Kann ja schon mal passieren.
    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

Berechtigungen

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