SQL-Abfrage um zu überprüfen, ALLE Tage gibt es zwischen einem Datumsbereich
Ich haben eine Tabelle der Preise mit einem start-Datum, end-Datum und Preis. Ich möchte eine Suche übergeben Sie einen Datumsbereich ein und gibt an, ob ein Preis vorhanden für alle Tage in diesem Zeitraum. Der Zeitraum kann sich über mehrere Preise, nur eben keine Lücken dazwischen.
Ist das möglich?
Prices
startDate datetime
endDate datetime
price
DECLARE @startDate datetime = '2010-04-01',
@endDate datetime = '2010-04-30'
SELECT * FROM Prices WHERE @startDate BETWEEN startDate AND endDate...
- Dies ist eine exakte Kopie von einer Frage viele Male hier. Siehe hier: stackoverflow.com/questions/271595/...
- Danke, ich war offensichtlich nicht auf der Suche für die richtige Sache.
- Ich denke tatsächlich, dass es anders ist. Sie brauchen nicht, um herauszufinden, alle Termine, die Antwort auf diese Abfrage.
- Welche Datenbank verwenden Sie?
- Ich denke, du hast Recht. es ist nicht doppelt. Warum kann ich nicht umkehren, meine Abstimmung zu schließen?
- Ah ja, ich dachte, die Antwort würde helfen, aber es ist vielleicht nicht genau das, was ich Suche. Ich bin mit SQL 2008. Ich brauche nur zu prüfen, wenn es eine Lücke zwischen den angegebenen Zeitraum in den Preisen der Tabelle.
- Dann könnte beantwortet werden, indem diese anderen stackoverflow-Frage: stackoverflow.com/questions/1025688/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie eine Gruppierung, um Ihre Abfrage mit having-Anweisung :
Habe ich diese am Ende perfekt funktioniert:
Erste Termine zwischen einer Reihe von Terminen