Delphi-PRAXiS
Seite 7 von 7   « Erste     567   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Datum aus voriger Zeile zum berechnen (https://www.delphipraxis.net/201703-datum-aus-voriger-zeile-zum-berechnen.html)

Jumpy 26. Aug 2019 08:18

AW: Datum aus voriger Zeile zum berechnen
 
Idee: In den Subselect muss auch die Einschränkung auf Jahr und Monat rein!

Die 20 in der ersten Zeile sind somit die Tage seit dem letzten Besuch im Vormonat und da z.B. Schokohase vermutlich in seinen Testdaten keinen Vormonat hat, kommt er da auf 0? Evtl. liefert der Subselect nach der Einschränkung Null statt 0, dann muss da ggf. noch sowas wie ein "Wenn Null dann 0" drum, in Oracle wäre das NVL, keine Ahnung wie bei FB der Befehl heißt.

jobo 26. Aug 2019 08:22

AW: Datum aus voriger Zeile zum berechnen
 
Also klar, andere Daten ergeben natürlich andere Ergebnisse. Dafür ist ja ein Testfall da, wie Schokohase ihn gemacht hat.

concept2015 26. Aug 2019 14:16

AW: Datum aus voriger Zeile zum berechnen
 
Der Tip von Ralph war goldrichtig.
Idee:
In den Subselect muss auch die Einschränkung auf Jahr und Monat rein!

Code:
SELECT
  Qechtdat,wer,nummer,
  JulianDay(Qechtdat) - COALESCE(
    (SELECT JulianDay(Qechtdat) As Tage
      FROM Zwischen t2
      WHERE t2.nummer = t1.nummer
      AND JulianDay (t2.Qechtdat) < JulianDay(t1.Qechtdat)
      AND t2.Jahr = "2019" -- <---- !
      AND nummer = "139"  -- <---- !
      ORDER BY
      JulianDay(t2.Qechtdat) DESC
      LIMIT 1),JulianDay(Qechtdat)) AS Tage
   FROM Zwischen t1
   WHERE Jahr = "2019"
   AND nummer = "139"
bringt:

QEchtDat WER Nummer Tage
2019-01-10 Demag 139 0
2019-01-19 Demag 139 9
2019-01-25 Demag 139 6
2019-02-01 Demag 139 7
2019-02-08 Demag 139 7
2019-02-13 Demag 139 5
2019-02-27 Demag 139 14

Mit COALESCE( .... ohne ,0)

DANKE Ralph :-D:-D:-D
Und auch DANKE an alle anderen, die sich über mein Problem den Kopf zerbrochen haben.8-)

p80286 26. Aug 2019 21:16

AW: Datum aus voriger Zeile zum berechnen
 
Zitat:

Zitat von concept2015 (Beitrag 1442978)
Die ganze Abfrage mit Subselect und Ergebnis steht in #38
Subselect klappt.

Pardon, das konnte ich mir nicht verkneifen.
oder https://de.wikipedia.org/wiki/Vertra...lle_ist_besser!

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 Uhr.
Seite 7 von 7   « Erste     567   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz