複数のケースを1行に追加したいと思います。つまり、次の例では、最初の項目がNOT NULLで、2番目の項目が1に等しい場合、出力は1以外の0になります。どのようにすればいいですか?複数のケースをSQLに追加するには
MatchbyCatalog= (case when ISNULL(pc.ProductID,0) and tc.RawMatch=1) then 1 else 0 end)
複数のケースを1行に追加したいと思います。つまり、次の例では、最初の項目がNOT NULLで、2番目の項目が1に等しい場合、出力は1以外の0になります。どのようにすればいいですか?複数のケースをSQLに追加するには
MatchbyCatalog= (case when ISNULL(pc.ProductID,0) and tc.RawMatch=1) then 1 else 0 end)
これは何ですか?
CASE WHEN pc.ProductID IS NULL and tc.RawMatch=1 THEN 1 ELSE 0 END
あなたはそれがNULLだ場合、それは条件ではない値を置き換える機能だ、ISNULL()
を誤解。あなたが探していたのですIS NULL
これだけです。あなたは両方を言うとき
MatchbyCatalog= (case when ISNULL(pc.ProductID,0)=1 and tc.RawMatch=1 then 1 else 0 end)
case when {Condition} then {result}
When {Condition} then {result}
Else {result}
コードを公開しないでください。また、コードが何をしているのか説明してください。 –
@JonathanMee私たちは何をすればいいのですか?その自明なコード –
は、私はあなたが私はあなたが私が推測する必要が全体のSQLクエリをしているしていないpc.ProductIDとtc.RawMatch ... を意味すると思います。 あなたは複数のソリューションがあります。
MatchbyCatalog =(ケースISNULL(pc.ProductID、:あなたはpc.ProductId = 1とtc.RawMatch = 1その後、他の1 0書いている
ほぼSSを0 1)= 1、tc.RawMatch = 1)then 1 else 0 end)
また、トリックを使用することもできます:1 * 1は1と1 * 0 = 0でなければなりません。もしtc.Rawmatch値0または1のブール値のソートです)。
MatchbyCatalog = ISNULL(pc.Produc tID、0)* tc.RawMatch
サンプルデータと期待される結果を示してください。 [** How-to-Ask **](http://stackoverflow.com/help/how-to-ask) \t \t [** START **](http ://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)質問品質を向上させ、より良い回答を得る方法を学ぼう。 \t [**最小限の完全かつ検証可能な例を作成する方法**](http://stackoverflow.com/help/mcve) –
いいえ、それは不完全なので動作しません。最初の項目がnullでなく、2番目の項目が1の場合、出力は1になると考えています。 –