0
我們有多個變量:變量1,變量2,和Variable3在SQL Server 2012中的一個結果選擇IIF SQL多個條件
如果這些變量中的一個失敗了,我們走出失敗狀態
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
我認爲你至少應該在查詢中添加一些'ORDER BY'子句(因爲你在所有子查詢中都使用了top)。 –
同意,也可以在比較之前選擇或打印這些變量的值。他們回來了什麼?確保沒有空值。 – paulbarbin
我能夠獲得變量的價值,我不關心訂單。問題是ResultTable1始終在變量1上獲取結果庫,而不是基於變量2和變量3結果 – Anson