2013-02-11 41 views
-8
Select name From tablename 
where ID=1 and 
case StatusID in 
    when 1=1 then (1,3,9) 
    else (1) end 

我只需要这个使用case语句现在获取语法附近的错误in.ms sql选择名称从tablename其中ID = 1和情况StatusID在1 = 1时然后(1,2,3)结束

+3

你似乎有随机输入的关键字,没有求助tsql的语法... – 2013-02-11 08:56:50

+0

欢迎来到SO,请看看[如何问](http://stackoverflow.com/questions/how-to-ask )。 – 2013-02-11 08:56:51

+0

你能否让你的问题更清楚? – Eric 2013-02-11 08:56:51

回答

2

我认为你可以这样写:

Select name 
From tablename 
WHERE 1 = 1 
    AND(ID = 1 OR StatusID in (1,3,9)); 
1

你的SQL是没有意义的,但如果你是在逻辑上减少它,你会得到:

Select name From tablename 
where ID=1 and StatusID in (1,3,9) 

因为1 = 1总是如此。

这可能不是你想要的。解释你正在尝试做什么,我们可以提供帮助。