是否可以在单个EXISTS
SQL语句中测试两个IF
条件?我尝试了以下内容。
IF EXIST (SELECT * FROM tblOne WHERE field1 = @parm1 AND field2 = @parm2)
OR
EXIST (SELECT * FROM tblTwo WHERE field1 = @parm5 AND field2 = @parm3)
我试过在那里添加额外的IF
和括号,但无济于事。
你能用正确的语法帮助我吗?
答案 0 :(得分:14)
如果是SQL Server
IF EXISTS (SELECT *
FROM tblOne
WHERE field1 = @parm1
AND field2 = @parm2)
OR EXISTS (SELECT *
FROM tblTwo
WHERE field1 = @parm5
AND field2 = @parm3)
PRINT 'YES'
很好,请注意,唯一改变的是EXISTS
而不是EXIST
。如果测试的第一个是真的,那么这个计划可能是UNION ALL
短路。
答案 1 :(得分:5)
你在EXIST结束时错过了一个S
EXIST S ,而不是EXIST
答案 2 :(得分:-1)
你也可以写一个IN语句
IF EXISTS (SELECT * FROM tblOne WHERE field1 = @parm1 AND field2 IN (@parm2,@parm3)