T-SQL запустить 1-й запрос, а затем CASE 2-й запрос и вывод данных или «Нет» - PullRequest
0 голосов
/ 01 июня 2018

Привет всем, я пытаюсь вывести данные, если @blah равно Да, но если нет, вывести «Нет».

Это мой текущий запрос:

DECLARE @blah VARCHAR(MAX)

SET @blah = (SELECT 
   CASE WHEN 
      COUNT(email) = '1' THEN     'Yes'
      ELSE                        'No'
   END
FROM 
   usersTbl 
WHERE 
   email = 'someone@somewhere.com');
SELECT
   CASE WHEN 
      @blah =                     'Yes' THEN 
     (SELECT * 
      FROM 
         usersTbl 
      WHERE 
         email = 'someone@somewhere.com')
      ELSE                        'No'
   END
FROM 
   usersTbl;

В настоящее время ошибка Iя получаю с выше:

Только одно выражение может быть указано в списке выбора, когда подзапрос не введен с EXISTS.

Чего мне не хватает?

1 Ответ

0 голосов
/ 01 июня 2018

Вы можете использовать здесь вместо EXISTS.Как то так.

if exists
(
    SELECT * 
      FROM 
         usersTbl 
      WHERE 
             email = 'someone@somewhere.com'
)
SELECT * 
      FROM 
         usersTbl 
      WHERE 
             email = 'someone@somewhere.com'
ELSE
    select 'No'
...