Sql server T-SQL条件选择语句

Sql server T-SQL条件选择语句,sql-server,tsql,Sql Server,Tsql,所以这不是一个普通的条件select语句 I当前有一列ID和一列Number。ID为0或Number为0 所以我的select语句需要从表A中选择colA、colB、colC、疯狂部分 疯狂的部分是: (如果ID>0,ID,Number)基本上选择并返回不是0的列。 在T-SQL中有什么方法可以做到这一点吗?使用CASE语句: SELECT colA, colB, colC, CASE WHEN ID > 0 THEN ID ELSE Number END

所以这不是一个普通的条件select语句

I当前有一列
ID
和一列
Number
ID
为0或
Number
为0

所以我的select语句需要从表A中选择colA、colB、colC、
疯狂部分

疯狂的部分是:
(如果ID>0,ID,Number)
基本上选择并返回不是0的列。
在T-SQL中有什么方法可以做到这一点吗?

使用
CASE
语句:

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

这应该可以做到:

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

您要查找的是CASE

您可以使用以下语句:

SELECT
    colA,
    colB,
    colC,
    CASE WHEN ID > 0 THEN ID ELSE Number END
FROM
   TableA
案例
(如其他人所解释的)当然有效。但是,如果其中一个始终为0,也可以将它们相加