Forums Neueste Beiträge
 

Joinen über ein Datumsfeld

23/07/2009 - 15:35 von Markus W. | Report spam
Ich habe das Problem das ich zwei Tabellen jonen muss. in der einen Tabellen
stehen die Artikel informationen mit einer ID , gültig von Datum und gültig
bis Datum
in der zweiten Tabelle steht die selbe ID und ein Datum welches dem
Bezugsdatum entspricht.

über die ID joinen geht solange gut als nur einen Eintrag vorhanden ist.
sind nun aber mehrer Eintràge vorhanden natürlich nciht mehr. dann müsste ich
noch über das Datum joinen und da scheitere ich.
Es soll immer der Artikel angezeigt werden der zum Bezugsdatum auch gültig
war.

Artikel Tabelle:
ID Gültig von Gültig bis
1 1.1.08 31.1.08
1 1.2.08 NULL


Bezüge:

ID Datum
1 2.1.08
1 5.1.08
1 9.2.08

Im Resultat solten bei den ersten beiden Bezügen der Eintrag zum ersten
Artikeleintrag angezeigt werden und beim letzten Eintrag der zweite
Artikeleintrag.
Das ganze ist nicht beschrànkt auf zwei Artikelversionen da kann es
natürlich belibig viele haben.

Kann mir da jemand helfen.

Gruss Markus
 

Lesen sie die antworten

#1 Christa Kurschat
23/07/2009 - 16:02 | Warnen spam
Hallo Markus,

"Markus W." schrieb im Newsbeitrag
news:
Ich habe das Problem das ich zwei Tabellen jonen muss. in der einen
Tabellen
stehen die Artikel informationen mit einer ID , gültig von Datum und
gültig
bis Datum
in der zweiten Tabelle steht die selbe ID und ein Datum welches dem
Bezugsdatum entspricht.

über die ID joinen geht solange gut als nur einen Eintrag vorhanden ist.
sind nun aber mehrer Eintràge vorhanden natürlich nciht mehr. dann müsste
ich
noch über das Datum joinen und da scheitere ich.
Es soll immer der Artikel angezeigt werden der zum Bezugsdatum auch gültig
war.

Artikel Tabelle:
ID Gültig von Gültig bis
1 1.1.08 31.1.08
1 1.2.08 NULL


Bezüge:

ID Datum
1 2.1.08
1 5.1.08
1 9.2.08

Im Resultat solten bei den ersten beiden Bezügen der Eintrag zum ersten
Artikeleintrag angezeigt werden und beim letzten Eintrag der zweite
Artikeleintrag.
Das ganze ist nicht beschrànkt auf zwei Artikelversionen da kann es
natürlich belibig viele haben.

Kann mir da jemand helfen.



Select ... from
Bezüge b inner join Artikel a on
b.id = a.ID and
b.Datum >= a.Gültigvon and
b.Datum <= isnull(a.gültigbis,'20500101')

Wobei ich Dir empfehlen würde, das Gültig bis-Datum nicht null zu lassen,
sondern mit einem Monddatum zu versehen, daß in der Zukunft liegt.

Gruß
Christa
Access-FAQ: http://www.donkarl.com
SQL-Server-FAQ: www.sqlfaq.de
InsideSql: www.insidesql.org

Ähnliche fragen