2017-08-30 46 views
0

我正在連接三個表並應用group by來選擇每種類型的一個不同的行。當我加入表marketing_follow我有多個條目,並選擇一個我使用組。現在我想在後續表格中選擇最近日期的條目。我一直tryn得到這個相當長的一段時間,現在做,真的需要一些幫助選擇表格中最近日期的行,使用連接和分組

public function getRegionWiseUserDetails($array){ 

    $this->db->select('mg.region_name, mu.contact_person, mu.contact_number, mu.status, mu.company_name, mu.user_type, mf.follow_up_date, mf.date, mu.user_id'); 


    $this->db->from('marketing_users as mu'); 
    $this->db->join('marketing_group as mg','mg.id = mu.region_id','left'); 
    $this->db->join('marketing_follow_up as mf','mf.user_id_fk = 
    mu.user_id','left'); 
    foreach($array as $condition){ 
     $this->db->or_where('mg.id',$condition); 
    } 
    $this->db->order_by('mf.follow_up_date','asc'); 
    $this->db->group_by('mf.user_id_fk'); 


    $query = $this->db->get(); 
    return $query->result_array(); 
    } 
+0

'$這個 - > DB-> ORDER_BY( 'mf.follow_up_date', '遞減');'嘗試這 –

+0

你使用數據表來顯示所有數據?因爲它應該工作,否則。 –

+0

我可以編寫原始查詢,但您(或其他人)必須弄清楚如何將其轉換爲此框架。如果這是一個解決方案,請參閱https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-簡單的sql查詢 – Strawberry

回答

0

您需要在desc順序日期字段進行排序。也爲ASC我們沒有把它作爲第二放慢參數它默認接受ASC

$this->db->order_by('mf.follow_up_date','desc'); 
+0

感謝您的答覆,但不起作用 –