2012-01-11 18 views
0

トランザクションの種類(経費、ローン、デポジットなど)に基づいて条件を表示する必要があります。 トランザクションタイプが 'Loan'でなければ、where条件(amount> 1000)を表示します。 トランザクションタイプが「Loan」の場合、where条件は必要ありません。 問題は、トランザクションタイプが「Loan」の場合、金額がNULLです。where condition in case文 - SQL Server

ここは私の質問です。しかし、私はエラーが発生しています。私がここでやっている間違いを助けてください。 このクエリは、より大きな動的SQLの一部です。

@[email protected]+' case when TransactionType=''Loan'' then ''null'' else TotalAmount > ' + @amount + ' end ' 
+0

正確なエラーメッセージは何ですか? – DOK

答えて

1

ケースステートメントは必要ありません。また

where TransactionType = 'Loan' or (TransactionType <> 'Loan' and TotalAmount > @amount)

あなたが与えられた制限されたクエリに基づいてTransactionType <> 'Loan'が必要な場合ではないことを確認。

+0

私は、ローン(transtype)の金額がヌルであるため、ケースステートメントが必要だと思います。 – Henry

+0

上記のwhere節では、ローンの金額が無視されるため、nullであるかどうかは関係ありません。 – dgundersen

+0

はい、あなたは正しいです。私は大文字小文字のステートメントが必要ない。ご協力いただきありがとうございます。 – Henry