我们有多个变量:SQL Server 2012中的Variable1,Variable2和Variable3
如果其中一个变量失败,我们就会失败状态
Declare @Variable1 int
Set @Variable1 = ( select top 1 count(*)
FROM Table1
where condition1=1
group by column1,column2
having count(1) >1)
Declare @Variable2 int
Set @Variable2 = ( select top 1 count(*)
FROM Table1
where condition2=1
group by column3,column4
having count(1) >1)
Declare @Variable3 int
Set @Variable3 = ( select top 1 count(*)
FROM Table1
where condition3=1
group by column5,column6
having count(1) >1)
SELECT IIF ( @Variable1 >=1 and Variable2 >=1 and Variable3 >=1, 'Fail', 'Pass' ) AS ResultTable1;
ResultTable1总是在@ Variable1上获得结果,而不是基于@ Variable2和@ Variable3结果
任何人都可以帮忙吗? -Thanks
答案 0 :(得分:0)
如果其中一个变量失败,我们就会失败状态
在这种情况下,您需要在OR
中使用IIF()
,而不是AND
。你现在的方式,所有的变量都必须失败状态。
SELECT IIF ( @Variable1 >=1 OR @Variable2 >=1 OR @Variable3 >=1, 'Fail', 'Pass' ) AS ResultTable1