首页 > 解决方案 > 如果第一个为空,则使用 MySQL 选择第二列值?

问题描述

如果第一列值为空,如何选择第二列的值。

例如:表 bookings 包含类似的记录

id | sold_price | contract_price
---------------------------------
1  | 10000      | 150000
---------------------------------
2  |            | 20000

我正在寻找一些 mysql 查询,例如

    Select SUM
           (If (bookings.sold_price !=NULL) 
            Else bookings.contract_price)
    FROM bookings 
    Where id=2

有没有办法做到这一点?

标签: mysql

解决方案


你可以使用一个 case when is null

Select sum( case when bookings.sold_price  is null 
         then bookings.contract_price else bookings.sold_price  end)
from my_table  
where id = 2 

或者在 mysql 中你可以使用 ifnull

Select sum( ifnull(bookings.sold_price , bookings.contract_price) )
from my_table  
where id = 2 

推荐阅读