[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jul 2005
    Beiträge
    25

    Hilfe bei Select Statement

    Hallo Experten,

    Ich habe hier eine DB2-Tabelle, die u.a. folgende Felder enthält:

    Artikelnummer, Buchungsdatum, Uhrzeit, Bestand

    wobei ein Datum im Format jjjjmmtt und die Uhrzeit als Sekunden seit Mitternacht gespeichert sind. Zu jedem Datum gibt es mehrere gleiche Artikelnummern.

    Ich suche nun eine SQL-Anweisung, die mir zu jedem Artikel genau den Satz ausgibt, dessen Datum und Uhrzeit am größten ist (also den aktuellsten Satz). Eine weitere Bedingung ist, daß das Buchungsdatum vor einem einzugebenden Datum liegen muß.

    Beispiel:
    Artikelnummer Buchungsdatum Uhrzeit Bestand
    4711 20090205 5480 1000
    4711 20090310 3850 2000
    4712 20090305 4000 3000
    4711 20090201 1500 4000
    4713 20090110 8000 1500
    4711 20090205 5481 1200

    Bedinung: Berücksichtige nur solche Sätze, die vor dem 01.03.2009 gebucht wurden

    Das Statement soll also folgende Sätze selektieren:

    Artikelnummer Buchungsdatum Uhrzeit Bestand
    4713 20090110 8000 1500
    4711 20090205 5481 1200

    Ich hoffe, Ihr könnt mir weiterhelfen und ich brauche keine Zwischendatei.

    Danke und Gruß
    Andreas

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Select ...
    from file A
    where digits(Datum) concat digits(Zeit) <= (select max(digits(Datum) concat digits(Zeit)) from file B where datum < 20090301 and A.Artikel = B.Artikel and ... )
    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
    Nov 2003
    Beiträge
    2.403
    SELECT ARTIKEL, DATUM, ZEIT, SUM(BESTAND) FROM FILE
    WHERE ARTIKEL CONCAT DATUM CONCAT ZEIT IN (
    SELECT ARTIKEL CONCAT MAX(DATUM CONCAT ZEIT) FROM FILE
    WHERE DATUM < '20090301' GROUP BY ARTIKEL)
    GROUP BY ARTIKEL, DATUM, ZEIT

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    @Pikachu
    Schneller ist es ohne Group by durch die Direktbeziehung.
    Numerische Felder lassen sich nicht per concat verbinden, daher digits (char entfällt wegen Vornullenentfernung bei der Zeit).
    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

Similar Threads

  1. Hilfe! Rollback bei Transaktionen funktioniert nicht
    By remo2010 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 23-11-06, 13:31
  2. CREATE FUNCTION mit select im Bauch ?
    By cheffe1008 in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 21-09-06, 16:05
  3. sql select mit zusätzl. Feldern
    By rr2001 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-07-06, 09:56
  4. Cobol-Programm mit Embedded SQL (SELECT CASE)
    By klausgkv in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 08-06-06, 13:47
  5. Embedded SQL - Datenbankoptionen in VARPG
    By woki in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 13-04-04, 12:09

Berechtigungen

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