繁体   English   中英

T-sql运行第一个查询,然后执行CASE第二个查询并输出数据或“否”

[英]T-sql run 1st query and then CASE 2nd query and output data or 'No'

嘿,如果@blah等于Yes,我想输出所有数据,否则输出'No'。

这是我当前的查询:

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;

目前,我收到的上述错误是:

如果未使用EXISTS引入子查询,则只能在选择列表中指定一个表达式。

我想念什么?

您可以在这里使用EXISTS。 这样的事情。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM