tsql: Можно ли использовать вложенные операторы case в select?

как включить вложенный оператор if в предложение select sql-запроса ? Я знаю, что нужно использовать case when condition then X else y end, но как сделать вложенный вариант таким же образом для каждой записи в наборе записей.

if x.boy is not null then 
   x.boy 
else if x.girl is not null
   then x.girl 
else if x.dog is not null 
   then x.dog
else 
    x.cat 

вот моя попытка:

SELECT top 10
        id,
        case when x.boy <> NULL then 
            x.boy
        else case when  x.girl <> NULL 
            x.girl
                else case when  x.dog <> NULL 
            x.dog
                else x.cat 

        end as Who 
from house x

это правильно?

15
задан phill 14 October 2010 в 20:24
поделиться