レッツであれば、私は次の表を持っていると言う:集計ブール値ソース列のいずれかが真の
id column_a column_b column_c
1 t f t
2 t f f
3 f t f
上記の表から、私がしたい:
select rows from id = 1,2;
なるはずです次のようになります。
定義されたidの中のいずれかの行が特定の列に対してtrueの場合、結果はtrueとみなされます。
レッツであれば、私は次の表を持っていると言う:集計ブール値ソース列のいずれかが真の
id column_a column_b column_c
1 t f t
2 t f f
3 f t f
上記の表から、私がしたい:
select rows from id = 1,2;
なるはずです次のようになります。
定義されたidの中のいずれかの行が特定の列に対してtrueの場合、結果はtrueとみなされます。
集計関数bool_or()
を使用してください。
SELECT bool_or(column_a) AS column_a
, bool_or(column_b) AS column_b
, bool_or(column_c) AS column_c
FROM tbl
WHERE id IN (1,2);
マニュアル:少なくとも一つの入力値がtrueの場合
真、
あなたは素晴らしいです!関数について知りませんでした。bool_or –
これらのcolumn_a、column_b、column_cの値は、次のような配列に格納できます。[t、f、t] –
@SyedAsadAbbasZaidi:確かに。質問として質問してください。コメントは場所ではありません。 –
bool_or(...)
そうでない場合はfalseは間違いなくここにあなたの親友です。
bool_or
に提供されるすべての値がnull
の場合、結果はnull
になります。
すべての列とすべての行には少なくとも1つの真理があるため、なぜテーブル全体を戻すことを期待していないのか分かりません。あなたの論理を明確にすることはできますか? –