Ошибка выражения регистра (не булево) - PullRequest
0 голосов
/ 01 мая 2018

Я получаю сообщение об ошибке при попытке использовать оператор case, пожалуйста, я новичок в SQL Query, кто-нибудь знает, где я не прав

Выражение не-логического типа, указанное в контексте, где ожидается условие, рядом с 'и'.

Ответы [ 2 ]

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

Предполагая, что вместо ответа lad2025, где все столбцы истинны, вы хотите знать, является ли ЛЮБОЙ столбец истинным, это будет работать.

SELECT
  CASE
    WHEN 
     (Oracle + Sqlserver + GeoDatabase + Shapefile + Cadfile + Excel + Word + OtherType) = 0 
      THEN 'u'
    ELSE 'Re'
  END;
0 голосов
/ 01 мая 2018

Возможно, вы хотите (проверяя, все ли столбцы имеют значение true в строке):

SELECT
  case when (
     SIGN(Orcale) * SIGN(Sqlserver) * SIGN(GeoDatabase) * SIGN(Shapefile) * 
     SIGN(Cadfile) * SIGN(Excel) *SIGN(Word) * SIGN(OtherType)) = 1 then 'u'
     ELSE 'Re'
  end
FROM tab;

Демоверсия DBFiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...