извлечение нулевых записей из оператора case, где clasue - PullRequest
0 голосов
/ 11 августа 2011

Я хочу получить записи категории IS NULL, КОГДА 'S', я не могу получить его с помощью следующего оператора case

 USE AdventureWorks2008R2;
 GO
 DECLARE @Cat VARCHAR(5)
 SET @Cat='S' 
 SELECT   ProductNumber,ProductName where Category =
  CASE @Cat
     WHEN 'R' THEN 'Road'
     WHEN 'M' THEN 'Mountain'
     WHEN 'T' THEN 'Touring'
     WHEN 'S' THEN 'NULL'
     ELSE 'Not for sale'
  END,
  Name
 FROM Production.Product
 ORDER BY ProductNumber;
 GO

я пытаюсь получить следующий запрос

  DECLARE @Cat VARCHAR(5)
  SET @Cat='S' 
  SELECT   ProductNumber,ProductName where Category is null

здесь @Cat - мой входной параметр, полученный из моего графического интерфейса

1 Ответ

1 голос
/ 11 августа 2011

Удалите WHEN 'S' THEN 'NULL' в своем коде и добавьте предикат:

OR (Category is null and @Cat = 'S')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...