2012-01-11 115 views
0

我需要显示基于事务类型(费用,贷款,存款等)的条件。 如果交易类型不等于'贷款',那么显示哪里条件(其中金额> 1000)。 如果交易类型是'贷款',那么不需要在哪里条件。 问题是对于交易类型'贷款'的金额为空。where case in case statement - SQL Server

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

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

你得到了什么确切的错误信息? – DOK 2012-01-11 00:19:50

回答

1

我不认为你需要一个case语句。

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

而且不知道你是否基于给出的有限的查询需要TransactionType <> 'Loan'

+0

我认为我们需要病例陈述因为对于贷款(transtype)金额为空。 – Henry 2012-01-11 00:40:53

+0

在上面的where子句中,它忽略了贷款的金额,所以无论它是否为空都没关系。 – dgundersen 2012-01-11 00:42:56

+0

是的,你是对的。我不需要案件陈述。谢谢你的帮助。 – Henry 2012-01-11 16:36:55