Условный оператор выбора T-SQL - PullRequest
0 голосов
/ 08 июня 2010

Так что это не совсем обычный оператор условного выбора.

В настоящее время есть столбец ID и столбец Number.Либо ID равно 0, либо Number равно 0.

Так что мое утверждение select должно сделать Select colA, colB, colC, crazy part Из таблицы A.

the crazy partэто: (If ID > 0, ID, Number) в основном выбирает и возвращает тот столбец, который не равен 0. Есть ли способ сделать это в T-SQL?

Ответы [ 5 ]

11 голосов
/ 08 июня 2010

Это должно сделать это:

select colA, colB, colC, case when ID is 0 then Number else ID end as Crazy
from TableA
3 голосов
/ 08 июня 2010

CASE (как объяснили другие), безусловно, работает. Однако, если один из двух всегда равен 0, вы также можете просто сложить их вместе.

2 голосов
/ 08 июня 2010

Используйте оператор CASE:

http://msdn.microsoft.com/en-us/library/ms181765.aspx

0 голосов
/ 08 июня 2010

Это можно сделать с помощью оператора CASE:

SELECT
    colA,
    colB,
    colC,
    CASE WHEN ID > 0 THEN ID ELSE Number END
FROM
   TableA
0 голосов
/ 08 июня 2010

То, что вы ищете, это CASE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...