2014-05-14 66 views
0

我使用Codeigniter 2 ActiveRecord執行查詢。 在我的表中,我有兩個字段reduced_price(可以爲空)和price。我想Order By先檢查reduced_price,如果它是空的,則使用price以非空字段先訂購

我當前的代碼如下所示:

$this->db->select('*') 
      ->from('products') 
      ->order_by('reduced_price', 'desc') 
      ->get() 
      ->result(); 

如何修改我的代碼來實現這一目標?

+0

簡單只是檢查在第一的天氣裏獲得價值否則使用第二個,也可以使用三元運算符Minmize –

回答

0

使用情況查詢 $ SQL = 'SELECT * FROM產品ORDER_BY CASE WHEN reduced_price IS NOT NULL THEN reduced_price ELSE價格END'
$查詢= $這個 - > DB->查詢($ SQL); return $ query-> result_array();

0

用例這樣的SQL查詢

ORDER BY CASE WHEN reduced_price則NOT NULL reduced_price END, CASE WHEN reduced_price爲null,則價格END