У меня есть следующий код, который не работает. То, что я хочу сделать, основано на некоторой переменной, которую я должен проверить, истинны ли все битовые поля этой переменной. Если да, верните true else, верните false.IF EXISTS в инструкции SWITCH
Любые предложения?
DECLARE @var NVARCHAR(20); IF EXISTS (SELECT variable FROM Table1 WHERE [email protected]) BEGIN SELECT @var=variable FROM Table1 WHERE [email protected] SELECT CASE @var WHEN 1 THEN IF EXISTS(SELECT CheckFlag FROM Table2 INNER JOIN Table1 ON Table2.IDNO=Table1.IDNO WHERE [Check1]=1 and [Check2]=1 and [Check3]=1 and [email protected]) RETURN 1 ELSE RETURN 0 WHEN 2 THEN ...... ELSE -1 END
Заранее спасибо.
«не работает» слишком расплывчато. Какие значения у вас есть в таблицах и переменных, что вы ожидаете, и какое значение в настоящее время возвращается. –
Ошибка, которую я получаю, это «Неправильный синтаксис рядом с IF» (строка 6). Вот логика запроса: У меня разные переменные (как в категориях), и я хочу проверить некоторые битовые поля для каждого из них. Если все битовые поля истинны, я хочу, чтобы sproc возвращал true, иначе sproc вернет false. На основании ввода я должен проверить одно предложение @var через switch. – Chriz