Schrift
[thread]3684[/thread]

Daten in ununterbrochener Folge: Wie stelle ich ein fehlendes Datum fest?



<< >> 4 Einträge, 1 Seite
roli
 2006-05-02 12:31
#34375 #34375
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi,

ich habe ein Problem mit einer (Informix) Datenbank.
In der DB sind Daten abgelegt die Folgendermassen aussehen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
DATUM     |LFD-NR|...
---------------------
02.05.2006|a |...
01.05.2006|a |...
30.04.2006|a |...
29.04.2006|a |...
27.04.2006|a |...
26.04.2006|a |...
25.04.2006|a |...
...


Die Ersten beiden Spalten sind der Primary Key. Fuer jede "LFD-NR" wird jeden Tag hoechstens ein Eintrag geschrieben.
Frage: Ich brauche eine Query, oder eine andere Loesung, mit der ich abfragen kann, wieviel Tage (in die Vergangenheit) in ununterbrochener Folge(! ), fuer eine "LFD-NR", ab einem vorgegebenen Datum, Eintraege in der Tabelle stehen.
Ich hoffe das jemand diesen Satz versteht, die ersten Versionen waren noch schlimmer, für Rueckfragen stehe ich natuerlich jederzeit gerne zur verfuegung :blush:

Beispiel: Ich moechte wissen wieviel ununterbrochene Eintraege es fuer die LFD-NR: "a" zum 01.05.2006 gibt. Hierbei soll der 01.05.2006 inclusive sein. Ich wuerde jetzt 3 als Ergebnis erwarten.

Da ich nichtmal den Ansatz einer Loesung habe, habe ich auch keine Suchmaschine befragt, da ich nicht weiss, wonach ich suchen soll.

Jede Idee ist willkommen, Loesungen natuerlich auch ;-}

Roland
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
renee
 2006-05-02 14:33
#34376 #34376
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich glaube, dass das nicht mit reinem SQL geht. Ich würde es mit Perl machen, indem Du einen Select-Befehl machst, mit der LFD-Nr in der WHERE-Bedingung , zusätzlich noch als Bedingung, dass das Datum kleiner als das gewünschte (hier: 1.5.2006) sein muss, und dass dann absteigend sortieren.

Dann musst Du überprüfen (z.B. mit CPAN:Date::Calc), ob das Datum ein Tag vor dem vorherigen Datum ist...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
roli
 2006-05-02 15:09
#34377 #34377
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi Renee,

danke für den Tipp. Dann werde ich mich mal drann geben das ganze in Perl zu realisieren.

Danke

Roland
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
nepos
 2006-05-02 16:57
#34378 #34378
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Jo, glaube auch nicht, dass du das in SQL sauber loesen kannst. Wenn doch, wirds relativ komplex und wenn du da evtl. eh mit nem Perl-Programm noch rangehst, dann isses sicher einfacher, den Check auf die Durchgaengigkeit in Perl zu machen.
<< >> 4 Einträge, 1 Seite



View all threads created 2006-05-02 12:31.