Sql 我不知道Oracle有相关的多参数最小值函数(DB2重新使用MAX()函数)!我想添加一个答案,但本质上是这样的,所以用一个工作的代替,用空行忽略完成。@X-Zero-谢谢你的例子!我在回答中添加了一个链接,我不知道Oracle有相关的多参数最小值函数(D
Sql 我不知道Oracle有相关的多参数最小值函数(DB2重新使用MAX()函数)!我想添加一个答案,但本质上是这样的,所以用一个工作的代替,用空行忽略完成。@X-Zero-谢谢你的例子!我在回答中添加了一个链接,我不知道Oracle有相关的多参数最小值函数(D,sql,oracle,Sql,Oracle,我不知道Oracle有相关的多参数最小值函数(DB2重新使用MAX()函数)!我想添加一个答案,但本质上是这样的,所以用一个工作的代替,用空行忽略完成。@X-Zero-谢谢你的例子!我在回答中添加了一个链接,我不知道Oracle有相关的多参数最小值函数(DB2重新使用MAX()函数)!我想添加一个答案,但本质上是这样的,所以用一个工作的代替,用空行忽略完成。@X-Zero-谢谢你的例子!我在回答中添加了一个链接。 Col Col1 Col2 Col3 ColR -- ---- -
我不知道Oracle有相关的多参数最小值函数(DB2重新使用
MAX()
函数)!我想添加一个答案,但本质上是这样的,所以用一个工作的代替,用空行忽略完成。@X-Zero-谢谢你的例子!我在回答中添加了一个链接,我不知道Oracle有相关的多参数最小值函数(DB2重新使用MAX()
函数)!我想添加一个答案,但本质上是这样的,所以用一个工作的代替,用空行忽略完成。@X-Zero-谢谢你的例子!我在回答中添加了一个链接。
Col Col1 Col2 Col3 ColR
-- ---- ---- ---- ----
30 73 40 null -10
60 32 null 20 40
90 80 null null 10
80 45 81 30 50
SELECT col,col1,col2,col3,
CASE
WHEN Col1 < Col2 AND Col1 < Col3
THEN Col - Col1
WHEN Col2 < Col1 AND Col2 < Col3
THEN Col - Col2
ELSE Col - Col3
END ColR
FROM
(SELECT col,col1,
CASE
WHEN col22 IS NULL
THEN NULL( i can also SET TO 0 but it will mess WITH my other calculation TO find MIN)
ELSE ROUND( 100* ( (col22) / (col44)))
END col2 ,
CASE
WHEN col33 IS NULL
THEN NULL
ELSE ROUND( 100* ( (col33) / (col44)))
END col3
FROM TABLE
)
nvl(check_expression, replacement_value)
CASE
WHEN nvl(col1,0) < nvl(col2,0) AND nvl(col1,0) < nvl(col3,0)
THEN Col - nvl(col1,0)
WHEN nvl(col2,0) < nvl(col1,0) AND nvl(col2,0) < nvl(col3,0)
THEN Col - nvl(col2,0)
ELSE Col - nvl(col3,0)
END ColR
SELECT least( (case when col1 is null or col1 = 0 then 999999999 else col1 end),
(case when col2 is null or col2 = 0 then 999999999 else col2 end),
(case when col3 is null or col3 = 0 then 999999999 else col3 end) )
FROM <<table name>>