[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    309

    SQL - Abfrag mit Tagesdatum bzw. für ein ganzes Monat

    Hallo *all

    Hab wieder mal eine Frage an die SQL-Spezialisten hier im Forum

    Ich habe eine SQL-Abfrage, welche mir aus einer Datenbank den aktuellen Tagesumsatz berechnet/ermittelt.

    PHP-Code:
    select sum(FKSum) as Tagesumsatz                                                   
      from MyLib
    /MyFile                                                  
      where FKaaa 
    and (not (int(FKaaa/100000) = 86 or               
                                 
    int(FKaaa/100000)=75)) and FK1=501    
      group by FKdd                                                     
      having FKddd
    ='1' concat substr(replace(char(current dateiso),'-' '') , 36
    Ich brauche jetzt aber auch noch den Umsatz für den laufenden Monat.

    Wie kann/muß ich die SQL-Abfrage umbauen um den Umsatz des lfd. Monat's zu erhalten?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Dazu musst du das Current Date berechnen:

    Von Datum:
    current date - (day(current date) + 1) days

    Bis Datum:
    current date - (day(current date) + 1) days + 1 months - 1 days
    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
    Aug 2003
    Beiträge
    1.508
    Wenn du das als Datum den letzten Tag des Monats brauchst, gibt es (zumindest ab V5R4) auch die Funktion LAST_DAY:

    last_day(current date)
    Ergebnis: 31.12.2009

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    309
    bekomm ich dann da nicht für jeden Tag eine Summe ????

    => ich bräuchte die Summe des ganzen Monats

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Du musst die Berechnung des Datums in die Where-Bedingung aufnehmen (Having ist hier ggf. langsamer):

    select sum(FKSum) as Tagesumsatz
    from MyLib
    /
    MyFile
    where FKaaa
    > 0 and (not (int(FKaaa/100000) = 86
    or
    int(FKaaa/100000)=75)) and FK1=
    501


    and FKddd between Von-Datum and Bis-Datum

    group by FKdd
    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
    Nov 2006
    Beiträge
    102
    Wenn Du den gesamten Monat willst, brauchst Du eigentlich nur die Datums-Substrings in der Where-Klausel zu ändern:
    Code:
    ...
    and substr(FKddd, 1, 5) = '1' concat substr(replace(char(current date, iso),'-' , '') , 3, 4)
    ...
    oder, wenn es auch ein Außenstehender lesen können soll:
    Code:
    ...
    and int(substr(FKddd, 4, 2)) = month(current date)
    and int('20' concat substr(FKddd, 2, 2)) = year(current date)
    ...
    Der Group-By nach Datum entfällt, wenn Du nur diesen einen Wert willst. Generell zu überlegen ist, wie das ganze eingesetzt wird, weil solche Abfragen mit Current Date natürlich bei Monats- und Jahreswechseln, oder wenn die Nacht zu kurz wird, gerne mal Ärger machen.

Similar Threads

  1. SQL Umsetzung DATE in 6 bzw. 8 stelliges Datum
    By beegee in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 18-12-08, 12:02
  2. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  3. Fehler im SQL bzw. Joblog
    By GraueEminenz in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 10-07-06, 11:58
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  5. Generische Felddefinition bzw Generische SQL Ausgabe
    By Rincewind in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 03-06-05, 10:56

Berechtigungen

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