9

EXISTS是否可以在单个IFSQL 语句中测试两个条件?我试过以下。

IF EXIST (SELECT * FROM tblOne WHERE field1 = @parm1 AND field2 = @parm2) 
   OR 
   EXIST (SELECT * FROM tblTwo WHERE field1 = @parm5 AND field2 = @parm3) 

我试过IF在那里添加额外的和括号,但无济于事。

你能帮我用正确的语法吗?

4

3 回答 3

16

如果 SQL 服务器

IF EXISTS (SELECT *
           FROM   tblOne
           WHERE  field1 = @parm1
                  AND field2 = @parm2)
    OR EXISTS (SELECT *
               FROM   tblTwo
               WHERE  field1 = @parm5
                      AND field2 = @parm3)
  PRINT 'YES' 

很好,注意唯一改变的是EXISTSnot EXIST。如果第一个测试是真的,那么这个计划可能会UNION ALL短路。

于 2013-01-11T20:42:13.450 回答
5

你错过了 EXIST 结尾的 S

存在,不存在

于 2013-01-11T20:43:59.450 回答
-1

你也可以写一个 IN 语句

IF EXISTS (SELECT * FROM tblOne WHERE field1 = @parm1 AND field2 IN (@parm2,@parm3)
于 2014-03-11T23:56:21.357 回答