次のテーブルがあるとします。
CREATE TABLE numbers
(
key integer NOT NULL DEFAULT 0,
number1 integer NOT NULL DEFAULT 0,
number2 integer NOT NULL DEFAULT 0,
number3 integer NOT NULL DEFAULT 0,
number4 integer NOT NULL DEFAULT 0,
CONSTRAINT pk PRIMARY KEY (key),
CONSTRAINT nonzero CHECK (key <> 0)
)
私が取得したいのは、4 つの数値すべての特定のキーからの最小値ですが、ゼロの数値は無視します。
ゼロに問題があると思ったとき、私は次のようなことから始めました。
SELECT LEAST(number1, number2, number3, number4) FROM numbers WHERE key = 1
たとえば、(1, 5, 0, 3, 2)
返したいタプルがある場合2
、または返し(2, 3, 0, 0, 0)
たい場合などです3
。
これを単一のクエリで (またはネストして) 実行できますか?これを実行するためのプロシージャを作成する必要はありません。