簡體   English   中英

內部聯接以從Codeigniter中的4個表中獲取數據

[英]inner join to get data from 4 tables in codeigniter

我開發了一個應用程序,可以在其中向客戶和代理商發送消息。 有一張表來維護這些記錄,一是發送給客戶,二是發送給代理商的收件箱。 我想在一頁上列出所有發送給客戶和代理商的消息。

我正在從此查詢發送給客戶

 function  getSentRecords($start, $limit,$user_id){

 $query=$this->db->query("select msg.*,cust.name from sent msg,customers cust where msg.from_id=$user_id and cust.id=msg.to_id limit $limit, $start");
 return $query->result_array();
}

並從此功能發送到代理的其他頁面

 function  getInboxRecords($start, $limit,$user_id){

    //$user_id = $this->session->userdata('admin_id');
     $query=$this->db->query("select msg.*,cust.name from inbox msg,admin adm where    msg.to_id=$user_id and adm.id=msg.from_id limit $limit, $start");
    //$this->db->limit($limit, $start);

    return $query->result_array();
  } 

我如何將我的信息發送到內部加入頁面,請幫忙

您可以為此使用UNION:

$query = "
  SELECT msg.*,cust.name, 'customers' as typ FROM sent msg
      JOIN customers cust ON cust.id = msg.to_id
  where msg.to_id = $user_id

  UNION

  SELECT msg.*,cust.name, 'agent' as typ FROM inbox msg
      JOIN admin adm ON adm.id = msg.from_id
  where msg.to_id = $user_id
";
return $query->result_array();

您可以閱讀MySQL的更多關於聯盟在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM