在where子句sql server 2005中切换case

时间:2014-01-08 14:10:01

标签: sql sql-server case

我该如何实现这一点..问题出在那一部分。我收到错误。 基本上我试图在参数@Site的基础上执行,并且值不止一个。 因此我使用的是IN子句,但是那部分是错误的。

 :
 :     
 WHERE  
(
 @Site IN (CASE
    WHEN @Site = '1' THEN ('C150','C151','C152','C153','C154','C155','C158','C159','C160')
    WHEN @Site = '2' THEN ('C161','C162','C163','C164','C165','C166','C168','C169')
 END) 

非常感谢

1 个答案:

答案 0 :(得分:0)

我认为你需要这样的东西

WHERE (@Site = '1' AND Site IN ('C150','C151'))
OR    (@Site='2' AND Site IN ('C161','C162'))

在您的问题中不明确,但我认为您有@Site var和Site列。

因为我看不到@Site1C150的对等关系。