Мне нужно создать запрос, который выглядит так:
SELECT attr
FROM SomeTable B
WHERE EXISTS
(СЛУЧАЙ, КОГДА B.some_attr = 0
THEN (SELECT x FROM C WHERE Bz = z)
WHEN B.some_attr = 1
ТОГДА (ВЫБЕРИТЕ x ИЗ D, ГДЕ Bz = x)
КОНЕЦ)
Но SQL Server отказывается выполнять это, что приводит к некоторой синтаксической ошибке.
Как изменить этот запрос, чтобы он работал?
EDIT: я добавляю ошибку:
Сообщение 156, уровень 15, состояние 1, строка 4 Неверный синтаксис рядом с ключевым словом «CASE».
Сообщение 156, уровень 15, состояние 1, строка 6 Неверный синтаксис рядом с ключевым словом 'WHEN'.
Сообщение 102, уровень 15, состояние 1, строка 8 Неверный синтаксис рядом с ')'.