3 つの列 (0 から 10 までの値のみを想定する整数値を含む) を持つテーブルがあります。1 つのクエリで、1 列のテーブルを抽出したい。この列は、次のロジックに基づく値を想定する必要があります。
これらの 3 つの列のいずれかの値が 0 の場合 ----> クエリによって生成されたテーブルの列の値も 0 でなければなりません。
最後の 3 つの列のいずれにも値 0 がない場合 ----> column の値は値 1 を想定する必要があります。
3 つの列 (0 から 10 までの値のみを想定する整数値を含む) を持つテーブルがあります。1 つのクエリで、1 列のテーブルを抽出したい。この列は、次のロジックに基づく値を想定する必要があります。
これらの 3 つの列のいずれかの値が 0 の場合 ----> クエリによって生成されたテーブルの列の値も 0 でなければなりません。
最後の 3 つの列のいずれにも値 0 がない場合 ----> column の値は値 1 を想定する必要があります。
CASE
コンストラクトまたはIF
関数を探しています:
SELECT CASE WHEN (t.field1 = 0 OR t.field2 = 0 OR t.field3 = 0) THEN 0
ELSE 1 END AS value
FROM t;
この特定のケースでは、メンバーがゼロであると積がゼロになるという事実を使用することもできます。
SELECT CASE WHEN (t.field1*t.field2*t.field3 = 0) THEN 0 ELSE 1 END AS value
FROM t;
または
SELECT IF((t.field1*t.field2*t.field3)=0, 0, 1) AS value FROM t;
これは単純なケース ステートメントです。NULL 値がないと仮定して、これを試してください:
select (case when col1 = 0 or col2 = 0 or col3 = 0 then 0 else 1 end)
これを試して
SELECT
CASE
WHEN column1 = 0 THEN 0
WHEN column2 = 0 THEN 0
WHEN column3 = 0 THEN 0
ELSE 1
END
FROM urtable