Sql 如果列值低于其他列,请选择条件

Sql 如果列值低于其他列,请选择条件,sql,postgresql,Sql,Postgresql,我有一排: id name bag1 bag2 bag3 bag4 1 bob 6 2 3 2 2 tabl 8 7 1 5 3 mum 2 8 9 12 通缉令: id name bag1 bag2 bag3 bag4 3 mum 2 8 9 12 如何选择,如果bag1低于bag2和bag3,并且它仅基于bag1,因为有时bag3、bag4 bagX有值,有时仅为null,为什么不使用简单和条件运算符

我有一排:

id name bag1 bag2 bag3 bag4
1  bob  6    2    3    2
2  tabl 8    7    1    5
3  mum  2    8    9    12
通缉令:

id name bag1 bag2 bag3 bag4
3  mum  2    8    9    12

如何选择,如果bag1低于bag2和bag3,并且它仅基于bag1,因为有时bag3、bag4 bagX有值,有时仅为null,为什么不使用简单和条件运算符

select * from yourtable where bag1 < bag2 and bag1 < bag3
从bag1
为什么不使用简单运算符和条件运算符

select * from yourtable where bag1 < bag2 and bag1 < bag3
从bag1
从您的_表中选择*,其中bag1
从您的_表中选择*,其中bag1从列中构建一个数组,以进行比较并使用:

select *
from bags
where bag1 < all (array[bag2,bag3,bag4]);
选择*
从袋子里
其中bag1
NULL
值将被忽略


联机示例:

从列中构建一个数组以比较并使用:

select *
from bags
where bag1 < all (array[bag2,bag3,bag4]);
选择*
从袋子里
其中bag1
NULL
值将被忽略


在线示例:

说,我有bag3-bag6,如何仅基于bag1?,*用于动态查询请提供完整的表格。我不明白bag3-bag6是什么?好的,那么您的表中有多少bag1、2、3列?最多9列bag*。说,我有bag3-bag6,如何仅基于bag1制作?,*用于动态查询请提供完整的表。我不明白bag3-bag6是什么?好的,那么您的表中有多少bag1、2、3列?最多9列bag*@Rubijihantro:用于您提供的示例数据:(和“不工作不是有效的Postgres错误消息”)@Rubijihantro:用于您提供的示例数据:(和)不工作(不是有效的Postgres错误消息)