2つのクエリがあり、値が1の場合は値があり、値が2の場合は最初のクエリが実行されます。どのように私はこれを達成することができ、私のクエリは値2大文字と小文字の2つの選択文
SELECT count (CASE WHEN col1 = 9 THEN 1 ELSE 0 END +
CASE WHEN col2 = 10 THEN 1 ELSE 0 END
)AS "matches" ,
CAST(CASE WHEN col1 = 9 THEN 1 ELSE 0 END
+ CASE WHEN col2 = 10 THEN 1 ELSE 0 END AS VARCHAR(10)) + '/ 2' AS "match by"
FrOM table a
where (SELECT CASE WHEN col1 = 9 THEN 1 ELSE 0 END +
CASE WHEN col2 = 10 THEN 1 ELSE 0 END AS "NUM_OF_MATCHES" ) >= 1
group by (CASE WHEN col1 = 9 THEN 1 ELSE 0 END+
CASE WHEN col2 = 10 THEN 1 ELSE 0 END)
場合、値は1つの
SELECT count (CASE WHEN col1 = 9 THEN 1 ELSE 0 END )AS "matches" ,
CAST(CASE WHEN col1 = 9 THEN 1 ELSE 0 END AS VARCHAR(10)) + '/1' AS "match by"
FrOM table a
where (SELECT CASE WHEN col1 = 9 THEN 1 ELSE 0 END AS "matches" ) >= 1
group by (CASE WHEN col1 = 9 THEN 1 ELSE 0 END)
)
クエリ2であれば、私はケースを使用して、それを試してきたが、それは
に動作していないクエリ1であります
私はif value = 1
を望んでおり、次に最初のクエリが実行され、if value = 2
が次に続きます
両方のクエリは同じ作業をしますが、値が1の場合、col1ロジックはcol1のみをとり、値が2の場合はcol1とcol2をとり、3の場合col1 col2とcol3をとります。
If If @value = 1 ..... else if @value = 2 ... 'を使用してみてください。あなたはそれを見ることができます[ここ](https://msdn.microsoft.com/en-us/library/ms182717.aspx)。 –