Как использовать If Else на SQL сервере? - PullRequest
0 голосов
/ 07 мая 2020

Я выбираю несколько столбцов из таблицы, например. type, orno, dsca, et c.

Я хочу отображать значение 'dsca' в зависимости от значения 'type'. Если 'type' = 9 или 10, тогда dsca = 'something' еще dsca берется из таблицы

select 
    orno, dsca,type 
from 
    ttxdes102
where 
    type in (1, 4, 9, 10) 
    and IF (type = 9 or type = 10) then dsca = 'Unallocated' END

The actual table is:
|   orno   | type           | dsca             |
|   AV003  |  10            | null             |
|   HN001  |  1             | Sales Inv.       | 
|   HR007  |  9             | null             |
|   HQ001  |  2             | Advance Rcpt     |

I want to display it as:

|   orno   | type           | dsca             |
|   AV003  |  10            | Unallocated      |
|   HN001  |  1             | Sales Inv.       | 
|   HR007  |  9             | Unallocated      |
|   HQ001  |  2             | Advance Rcpt     |

Ответы [ 2 ]

0 голосов
/ 07 мая 2020

Просто выражение CASE как

select orno, 
       case when [type] in (9, 10) then 'Unallocated' else dsca end dsca,
       [type] 
from 
    ttxdes102
0 голосов
/ 07 мая 2020

Возврат разных результатов в зависимости от некоторых условий выполняется с помощью выражения CASE

select orno,
       case when type in (9, 10) then 'NOT Available' else dsca end as dsca,
       type 
from ttxdes102
where type in (1, 4, 9, 10)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...