Два независимых ИСТИННЫХ утверждения SQL объединяются в ЛОЖЬ - PullRequest
0 голосов
/ 12 мая 2018

Я использую Transact SQL, и у меня возникла проблема с приведенным ниже примером кода, который оценивается как true:

CASE
  WHEN [ProductName] = 'Example' AND [Payment] > 0 THEN 'Category A'
  ELSE 'Category B'
END

Эта проблема вызвана ошибкой типа?При независимой проверке все они переходят в категорию «А».Однако, когда они объединяются с оператором AND, они переходят в «категорию B.»

Есть мысли о том, как это исправить?

1 Ответ

0 голосов
/ 12 мая 2018

Условия, которые вы проверяете, могут оцениваться как 'Category A', когда вы запускаете их независимо. Однако это не означает, что ваш код оценивается как 'Category A', когда вы запускаете их с логическим оператором AND.

Похоже, что в вашей таблице / представлении нет строки, удовлетворяющей обоим условиям ([ProductName] = 'Example' AND [Payment] > 0) в одной строке.

Вы проверили свое состояние с помощью следующего запроса?

SELECT * 
FROM tablename 
WHERE [ProductName] = 'Example' AND [Payment] > 0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...