Szenario, um eine Aktualisierung basierend auf Buchungs-SQL zu ermöglichen

8

Das Szenario ist DEMO001 System ist vom 10. August bis 11. August vom Benutzer gebucht.

%Vor%

Sagen Sie, wenn ich einen Eingabeparameter

bekomme %Vor%

Wenn der Benutzer versucht, eines dieser Systeme zu aktualisieren, indem das Start- oder Enddatum verlängert oder vorgezogen wird, wenn zwischen diesen Tagen keine anderen Personen gebucht werden, muss ich 0 oder 1 sagen.

Dies ist die Erweiterung dieses Szenarios

Überprüfen, ob das "System "liegt zwischen zwei Daten in SQL

Ich habe versucht, den dort gegebenen Vorschlag zu modifizieren, aber nicht in der Lage, es richtig zu verstehen. Bitte schlagen Sie vor.

    
MKN 29.06.2016, 04:27
quelle

5 Antworten

4

Versuchen Sie:

%Vor%     
krokodilko 01.07.2016 16:16
quelle
2

Wenn ich Ihre Frage richtig verstanden habe, suchen Sie nach einer generischen Lösung, um zu unterscheiden, ob sich Zeiträume für eine Ressource zeitlich überschneiden.

Wenn die ersten vier Beispielzeilen Spalten in einer Tabelle mit dem Namen BOOKING sind und Sie ein neues Datum für die erste Buchung testen möchten, können Sie dies mit folgenden Abfragen tun:

%Vor%

Natürlich ist die CASE-Anweisung nur dazu da, das Testergebnis visuell klar zu machen. Wenn Sie 0 und 1 für die entgegengesetzten Ergebnisse wollen, machen Sie einfach ein "NICHT EXISTIEREN"

    
hendrik_at_mt-ag_com 01.07.2016 11:31
quelle
2

Meiner Meinung nach müssen Sie bestehende Buchungsdaten des Systems nur aktualisieren, wenn keine anderen Termine zusammentreffen.

Bitte versuchen Sie es mit dem folgenden Code. Möge es von Ihnen funktionieren.

%Vor%

%Vor%

Es funktioniert für alle gegebenen Szenarien.

    
Gurpreet Singh 03.07.2016 10:39
quelle
2

Komplette Gutschrift an @kordirko hier, aber nur um Sie mit Ihrem vertrauten Ausgabemodell zu verstehen (wie von @MTO angegeben)

Buchungstabelle:

%Vor%

Abfrage mit Bindevariablen systems, start_date, end_date

%Vor%

Ausgabe:

%Vor%     
SriniV 05.07.2016 11:19
quelle
1

Sie könnten dies anhand der sql-Anweisung versuchen, die Ihnen im OP-Link vorgeschlagen wurde:

%Vor%     
Ciro Corvino 05.07.2016 10:56
quelle

Tags und Links