Подтвердить что ты не робот

Как выбрать столбец на основе условия?

У меня есть переменная @status, которую я задал перед этим оператором select:

Select
ordr_num as num,
ordr_date as date,
ordr_ship_with as shipwith
From
order
where ordr_num = @ordrNum

Мне нужно только выбрать столбец ordr_ship_with, если @status <> 'Cancelled', в противном случае я хочу выбрать значение null для shipwith. Как это сделать?

4b9b3361

Ответ 1

SELECT ordr_num as num, ordr_date as date, 
    CASE WHEN @status<>'Cancelled' THEN ordr_ship_with ELSE NULL END as shipwith 
FROM order 
WHERE ordr_num = @ordrNum

Ответ 2

Попробуйте это

Select 
    ordr_num as num, 
    ordr_date as date, 
    CASE 
        WHEN @Status <> 'Cancelled' THEN ordr_ship_with 
        ELSE NULL END
    as shipwith 
From order 
where ordr_num = @ordrNum

Хотя я чувствую, что вы STATUS является фактическим столбцом в таблице Order. В этом случае сделайте следующее:

Select 
    ordr_num as num, 
    ordr_date as date, 
    CASE 
        WHEN Status <> 'Cancelled' THEN ordr_ship_with 
        ELSE NULL END
    as shipwith 
From order 
where ordr_num = @ordrNum

Ответ 4

Select
    ordr_num as num,
    ordr_date as date,
    CASE WHEN @status <> 'Cancelled' THEN ordr_ship_with ELSE NULL END as shipwith
From
    order where ordr_num = @ordrNum

Ответ 5

ВЫБЕРИТЕ СЛУЧАЙ
WHEN @status < > 'cancel' THEN ordr_ship_with
ELSE null
END AS shipwith,... другие поля