Подзапрос в предложении where - PullRequest
0 голосов
/ 15 февраля 2019

Трудно гуглить, терпите меня ... ищите более редкий синтаксис.Есть ли такой запрос:

SELECT x
FROM foo 
WHERE foo.y = (foo.a = 3 AND foo.b = 5)

В основном выражение в скобках оценивается как логическое, и мне интересно, можно ли его использовать для поиска столбца y (в котором хранятся логические значения).Этот синтаксис, вероятно, неправильный, кто-то знает, существует ли что-то подобное?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Вы можете использовать IFF (), используя SQL Server, следующим образом:


select x 
from foo
where foo.y = (select iif(foo.a=3 and foo.b=5,0,1));

DB Fiddle Demo

0 голосов
/ 15 февраля 2019

Вы можете использовать выражение CASE, например:

SELECT x
from foo 
where foo.y = (CASE WHEN (foo.a = 3 AND foo.b = 5) THEN 1 ELSE 0 END)
...