where语句中的条件 - SQL Server

时间:2012-01-11 00:13:44

标签: sql-server-2005 stored-procedures dynamic-sql

我需要根据交易类型(费用,贷款,存款等)显示条件。 如果交易类型不等于'贷款',则显示where条件(其中金额> 1000)。 如果交易类型是“贷款”,那么就不需要在哪里条件。 问题是对于交易类型'贷款',金额为空。

这是我的查询..但我收到错误。帮帮我在这里做错了什么。 此查询是更大的动态SQL的一部分。

@SQL=@SQL+' case when TransactionType=''Loan'' then ''null'' else  TotalAmount > ' + @amount + ' end '

1 个答案:

答案 0 :(得分:1)

我认为你不需要个案陈述。

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

根据给出的有限查询,还不确定您是否需要TransactionType <> 'Loan'