MSSQL: Zeitraum innerhalb vier Wochen
LeKuchen
- datenbank
Hallo zusammen,
ich suche eine Möglichkeit, folgende Abfrage in eine SQL-Anweisung zu packen:
Liste von Personen
Tabelle1 von Dokumenten zu Personen mit Datumsfeld
...
Tabellen von Dokumenten zu Personen mit Datumsfeld
Die Abfrage soll alle Personen listen, die
(a) einen Eintrag in jeder Tabelle haben
(b) bei denen das Datumsfeld einen Wert enthält der in einem Zeitraum von vier Wochen liegt im Vergleich zu den Datumsfeldwerten in den anderen Tabellen.
Ich habe versucht mich anzunähern:
SELECT [r:Personen].[Name], [r:Tabelle1].[Datum] as Datumsfeld1, [r:Tabellen].[Datum] as Datumsfeldn From [r:Tabelle1] INNER JOIN [r:Tabellen] ON [r:Tabelle1].PersonenNr=[r:Tabellen].PersonenNr INNER JOIN [r:Personen] ON [r:Personen].PersonenNr=[r:Tabelle1].PersonenNr
Das erfüllt schonmal Anforderung (a). Dann muss es wahrscheinlich irgendwie so weitergehen:
Where [r:Tabelle1].[Datum] BETWEEN ....
Aber wie kann ich einen Zeitraum abfragen, wobei unklar ist, welches der Datumsfelder der Minimal und welches der Maximal-Wert ist?
Kann mir da MIN und MAX weiterhelfen?
Gruß,
LeKuchen
Hallo LeKuchen
Das erfüllt schonmal Anforderung (a). Dann muss es wahrscheinlich irgendwie so weitergehen:
das ist der richtige Ansatz
Where [r:Tabelle1].[Datum] BETWEEN ....
Die Datumsfunktion dateadd(einheit, zahl, datum) sollte Dir weiterhelfen
Aber wie kann ich einen Zeitraum abfragen, wobei unklar ist, welches der Datumsfelder der Minimal und welches der Maximal-Wert ist?
Kann mir da MIN und MAX weiterhelfen?
eventuell in Verbindung mit subselects und ggf. unions. Aber dazu wären exakte Informationen notwendig, woher diese Datumsangaben kommen, d.h. der Algorithmus, der Dir das relevante Datum liefert, von dem aus der Zeitraum von vier Wochen zu berücksichtigen ist.
Freundliche Grüße
Vinzenz