Как я могу проверить логическое сравнение TRUE или FALSE в WHERE Statement в TSQL? - PullRequest
1 голос
/ 13 января 2012

Как я могу выполнить этот запрос, чтобы я мог проверить результат логического сравнения ЛОЖЬ:

SELECT *
FROM table1
INNER JOIN table2 ...
INNER JOIN table3 ...
INNER JOIN table4 ...
WHERE ( ( table1.Value IS NULL) AND 
         ( table2.Value IS NULL) AND
         ( table3.Value IS NULL) AND
          ( table4.Value IS NULL) ) -- Here I want to ADD something like IS FALE; 
                                    --How can I do this?

Ответы [ 3 ]

3 голосов
/ 13 января 2012

Используйте операнд НЕ

SELECT *
FROM table1
INNER JOIN table2 ...
INNER JOIN table3 ...
INNER JOIN table4 ...
WHERE NOT ( ( table1.Value IS NULL) AND 
            ( table2.Value IS NULL) AND
            ( table3.Value IS NULL) AND
            ( table4.Value IS NULL)
          )
2 голосов
/ 13 января 2012

У вас есть несколько вариантов

НЕ

...(Table4.value IS NOT NULL)...
...NOT (Table4.value IS NULL)...

CASE

CASE WHEN (<complex comparison> = somevalue THEN 1 ELSE 0) = 0

0 голосов
/ 13 января 2012

Вы имеете в виду:

SELECT *
FROM table1
INNER JOIN table2 ...
INNER JOIN table3 ...
INNER JOIN table4 ...
WHERE (
        NOT(    
         ( table1.Value IS NULL) AND 
         ( table2.Value IS NULL) AND
         ( table3.Value IS NULL) AND
         ( table4.Value IS NULL)
          ) 
      )
...