-1
Oracle Apexでデータベースを作成していますが、基本的に同じ行の2つの数値を比較する必要があります。以下の表の例。上記の例を使用しSQL-同じ行の2つの数値を比較する方法
、どのように、例えば、同じ行の数字1及び数2を比較することになります最初の行で6と7を比較し、2番目の行で3と1を比較します。
Oracle Apexでデータベースを作成していますが、基本的に同じ行の2つの数値を比較する必要があります。以下の表の例。上記の例を使用しSQL-同じ行の2つの数値を比較する方法
、どのように、例えば、同じ行の数字1及び数2を比較することになります最初の行で6と7を比較し、2番目の行で3と1を比較します。
あなたの番号の最小値が存在する場合(すなわち、それらはすべての正の整数である)、次にあなたが行うことができます:
Oracleのセットアップ:
CREATE TABLE table_name (ID, name, number1, number2, number3) AS
SELECT 1, 'Jane', 6, 7, 1 FROM DUAL UNION ALL
SELECT 2, 'John', 3, 1, NULL FROM DUAL UNION ALL
SELECT 3, 'Jake', NULL, NULL, 5 FROM DUAL;
クエリ:
SELECT ID,
NAME,
GREATEST(NVL(NUMBER1, 0), NVL(NUMBER2, 0), NVL(NUMBER3, 0)) AS biggest
FROM table_name;
出力:
ID NAME BIGGEST
---------- ---- ----------
1 Jane 7
2 John 3
3 Jake 5
何の最小値が存在しない場合、あなたが行うことができます:
クエリ2:
SELECT ID,
NAME,
CASE WHEN NUMBER1 IS NULL AND NUMBER2 IS NULL AND NUMBER3 IS NULL
THEN NULL
WHEN NUMBER1 IS NULL AND NUMBER2 IS NULL THEN NUMBER3
WHEN NUMBER1 IS NULL AND NUMBER3 IS NULL THEN NUMBER2
WHEN NUMBER2 IS NULL AND NUMBER3 IS NULL THEN NUMBER1
WHEN NUMBER1 IS NULL THEN GREATEST(NUMBER2, NUMBER3)
WHEN NUMBER2 IS NULL THEN GREATEST(NUMBER1, NUMBER3)
WHEN NUMBER3 IS NULL THEN GREATEST(NUMBER1, NUMBER2)
ELSE GREATEST(NUMBER1, NUMBER2, NUMBER3)
END AS biggest
FROM table_name;
あなたが比較した結果を表示したいどうすればよいですか?あなたはあなたの質問からどんな出力をしたいですか? –
あなたは(number1> number2)のときに何かをしてから始めることができるはずです... – cableload
こんにちはアレックス、私はちょうどそれが最高の番号を選択する選択クエリでそれを表示したい – BiscuitCookie