Datumswerte auffüllen

12/12/2007 - 08:49 von J. Kröger | Report spam
Morgen,

ich möchte gerne eine Tabelle mit Datumswerten füllen die noch nicht
enthalten sind. Ich habe 2. Felder die ich berücksichtigen muss:
1. Artikelnummer (ArtNr)
2. Lager (Lager)

Einige Beispielzeilen sehen so aus:

ArtNr Lager Datum Bestand
1000 001 2007-12-01 5000
1000 003 2007-12-07 5300
1000 001 2007-12-04 5400

Sagen wir mal das heutige Datum wàre der 8. Okt. 07

Was nun brauche ist eine Tabelle die dann wie folgt aussehen sollte:
ArtNr Lager Datum Bestand
1000 001 2007-12-01 5000
1000 003 2007-12-07 5300
1000 001 2007-12-04 5400
1000 001 2007-12-02 NULL
1000 001 2007-12-03 NULL
1000 001 2007-12-04 NULL
1000 001 2007-12-05 NULL
1000 001 2007-12-06 NULL
1000 001 2007-12-08 NULL
1000 003 2007-12-08 NULL

Also immer das alle Datums-Werte zwischen dem minimal Datumswert und dem
aktuellen Datum erzeugt werden und als Bestand NULL haben.

Ich habe schon mal versucht das irgendwie zu bauen mit einem inner join
aber ich bekomme einfach nie ein richtiges Ergebniss, zudem sollte es
recht performant sein, da ich in der Tabelle ca. 6,5 Mio. Eintràge habe.

Ich bin für jeden Tip dankbar.

Mfg

J. Kröger
 

Lesen sie die antworten

#1 Christa Kurschat
12/12/2007 - 10:07 | Warnen spam
Hallo J.,

"J. Kröger" schrieb im Newsbeitrag
news:
Morgen,

ich möchte gerne eine Tabelle mit Datumswerten füllen die noch nicht
enthalten sind. Ich habe 2. Felder die ich berücksichtigen muss:
1. Artikelnummer (ArtNr)
2. Lager (Lager)

Einige Beispielzeilen sehen so aus:

ArtNr Lager Datum Bestand
1000 001 2007-12-01 5000
1000 003 2007-12-07 5300
1000 001 2007-12-04 5400

Sagen wir mal das heutige Datum wàre der 8. Okt. 07

Was nun brauche ist eine Tabelle die dann wie folgt aussehen sollte:
ArtNr Lager Datum Bestand
1000 001 2007-12-01 5000
1000 003 2007-12-07 5300
1000 001 2007-12-04 5400
1000 001 2007-12-02 NULL
1000 001 2007-12-03 NULL
1000 001 2007-12-04 NULL
1000 001 2007-12-05 NULL
1000 001 2007-12-06 NULL
1000 001 2007-12-08 NULL
1000 003 2007-12-08 NULL

Also immer das alle Datums-Werte zwischen dem minimal Datumswert und dem
aktuellen Datum erzeugt werden und als Bestand NULL haben.

Ich habe schon mal versucht das irgendwie zu bauen mit einem inner join
aber ich bekomme einfach nie ein richtiges Ergebniss, zudem sollte es
recht performant sein, da ich in der Tabelle ca. 6,5 Mio. Eintràge habe.




Am besten erstellst Du Dir eine Datumstabelle mit allen relavanten Datümmern
und joinst die zu Deiner Tabelle dazu.
Performant wird es aber sicher nicht bei der Menge an DS.

Anderer Weg: Du fügst die Sàtze per Insert dazu.
Die Datumstabelle benötigst Du aber in jedem Fall.

Gruß
Christa
Access-FAQ: http://www.donkarl.com
SQL-Server-FAQ: www.sqlfaq.de
InsideSql: www.insidesql.de
Suchen in den Newsgroups:
http://groups.google.de/advanced_gr...p;ie=UTF-8

Ähnliche fragen