where文にcase when句を使用して、2つの異なるカテゴリに属する場合に値を返そうとしています。条件 'Where'句内のケースの場合T-SQL
これは、これまでの私のコードです:ここでは
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
は私がやろうとしています何のダウン口頭で休憩です。
私の同じ日数が値< = 9を返す場合、リース日付と未来の日付の差が> = 8の場合にのみ値を返したいと思います。
私の同じ日数が9より大きい場合、最後に変更された家賃と将来の日付との差が> = 12の場合にのみ値を返したいとします。
しかし、両方のデータセットを同じクエリで返す必要があります。残念ながら、私は '間違った構文'エラーを取得し続けます。
私はまだ学んでいるので、これを修正する方法について少し不明です。どんな助けでも大歓迎です。
代わりに、あなたは(入力に基づいて異なるブール式を評価する)ようなcase
ステートメントを使用することはできませんが、ブールとあなたのロジックを書き換えることができANDとOR
私の答えで論理エラーが修正されました。これをチェックしてください。古いバージョンでは間違った結果が出ます。その答えは、エラーを指摘ゴードンLinoffに信用。 – Blorgbeard