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

时间:2018-06-20 07:41:50

标签: 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

3 个答案:

答案 0 :(得分:1)

为什么不使用简单和条件运算符?

     //Call the method using the apihelper object
     apiHelper.apiCall(Parameter parameter,new CallBackPresenter() {
        @Override
        public void success(DataModel model) {
            //update recycler view here.
        }

        @Override
        public void showError(String error) {
            //show error here.
        }

        @Override
        public void showLoader() {

        }

        @Override
        public void hideLoader() {

        }
    });

答案 1 :(得分:1)

从列中构建一个数组以进行比较和使用:

select *
from bags
where bag1 < all (array[bag2,bag3,bag4]);

NULL值将被忽略。

在线示例:http://rextester.com/OLFQ16202

答案 2 :(得分:0)

Select * from your_table where bag1<bag2 and bag1<bag3