Oracle 两组列之间的最小值和最大值比较
我有一个包含这些数据的“季节”表,有两种类型/一组列“A”和“B”(在这个示例数据中,每种类型有3列) 我需要的是:如果“A”类型列中的任何值超过了“B”类型列中的任何值,则在新的“result\u column”中为此行获取“1” 示例:对于id=1和id=4行,我们必须获得此值,因为任何值,即使是“点A1、点A2、点A3”中的最小值,都超过了“点B1、点B2、点B3”中的最大值 结果应该是Oracle 两组列之间的最小值和最大值比较,oracle,Oracle,我有一个包含这些数据的“季节”表,有两种类型/一组列“A”和“B”(在这个示例数据中,每种类型有3列) 我需要的是:如果“A”类型列中的任何值超过了“B”类型列中的任何值,则在新的“result\u column”中为此行获取“1” 示例:对于id=1和id=4行,我们必须获得此值,因为任何值,即使是“点A1、点A2、点A3”中的最小值,都超过了“点B1、点B2、点B3”中的最大值 结果应该是 id pointA1 pointA2 pointA3 pointB1 pointB2 p
id pointA1 pointA2 pointA3 pointB1 pointB2 pointB3
1 12.2 10 11.1 2.2 3.03 9
2 102.2 10 -11.1 2.2 102.2 9
3 102.2 10 -11.1 -2.2 101.2 0
4 102.2 15 999 4 14 0.2
尝试使用min和max函数,但我陷入了困境…很高兴帮助@Oto ShavadzeHappy帮助@Oto Shavadze
id pointA1 pointA2 pointA3 pointB1 pointB2 pointB3 result_column
1 12.2 10 11.1 2.2 3.03 9 1
2 102.2 10 -11.1 2.2 102.2 9
3 102.2 10 -11.1 -2.2 101.2 0
4 102.2 15 999 4 14 0.2 1
select
...
case when least(a1, a2, a3) > greatest(b1, b2, b3) then 1 end as result_column
from ...
select season.* ,
CASE WHEN
least(pointA1, pointA2, pointA3) > greatest(pointB1, pointB2, pointB3) then 1
END AS result_column
from season
order by id