Ответ 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
У меня есть переменная @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. Как это сделать?
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
Попробуйте это
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
Случай использования: http://msdn.microsoft.com/en-us/library/ms181765.aspx
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
ВЫБЕРИТЕ СЛУЧАЙ
WHEN @status < > 'cancel' THEN ordr_ship_with
ELSE null
END AS shipwith,... другие поля