Ich versuche, eine Groß-/Kleinschreibung Klausel in einer WHERE-Anweisung zu verwenden, um Werte zurückzugeben, wenn sie in 2 verschiedene Kategorien fallen.Bedingte 'Fall wenn' innerhalb 'Where' Klausel T-SQL
Dies ist mein Code so weit:
create view dbo.eightmonthinc
as
select *
from dbo.rentincreaseview
where
case when [days same form] <= 9
then datediff(month, leasedate ,'2016-08-01 00:00:00') >= 8
else datediff(month, rentlastchanged ,'2016-08-01 00:00:00') >= 12)
end
go
Hier ist eine verbale Pause nach unten von dem, was ich zu tun versuchen.
Wenn meine Tage dieselbe Formel einen Wert < = 9 zurückgibt, möchte ich nur Werte zurückgeben, bei denen die Differenz zwischen dem Leasingdatum und einem festgelegten zukünftigen Datum> = 8 ist.
Wenn meine Tage dieselbe Formel> 9 ist, dann möchte ich nur Werte zurückgeben, bei denen die Differenz zwischen dem letzten Änderungsdatum der Miete und einem zukünftigen Datum> = 12 ist.
Ich möchte jedoch, beide Datensätze in derselben Abfrage zurückgegeben werden. Leider bekomme ich immer einen 'inkorrekten Syntax' Fehler.
Ich lerne immer noch, also bin ich ein wenig unsicher, wie das zu beheben ist. Jede Hilfe würde sehr geschätzt werden.
Ich habe einen logischen Fehler in meiner Antwort behoben - bitte überprüfen Sie es - die alte Version wird falsche Ergebnisse produzieren. Kredit an Gordon Linoff, dessen Antwort auf den Fehler hinwies. – Blorgbeard