2010-06-07 224 views
-1

所以这不是一个真正的条件选择语句。T-SQL条件选择语句

我目前有一列ID和一列Number。无论ID为0或Number为0

所以我的select语句需要做的选择可乐,COLB,COLC,crazy part从表A

crazy part是这样的: (If ID > 0, ID, Number)基本上选择并返回列是不是0. 有没有办法在T-SQL中做到这一点?

回答

11

这应做到:

select colA, colB, colC, case when ID is 0 then Number else ID end as Crazy 
from TableA 
+0

/facepalm我试过一切,但一个案例声明,谢谢! – msarchet 2010-06-07 21:17:38

0

你会使用CASE语句来做到这一点:

SELECT 
    colA, 
    colB, 
    colC, 
    CASE WHEN ID > 0 THEN ID ELSE Number END 
FROM 
    TableA 
3

CASE(正如其他人所解释的)当然有效。但是,如果其中一个始终为0,那么也可以将它们加在一起。