簡體   English   中英

如何在Codeigniter活動記錄中編寫此查詢

[英]How to write this query in codeigniter active records

如何在Codeigniter活動記錄中編寫此查詢

        select 
        a.parent_cat_id,a.parent_cat_name, b.child_cat_id,b.child_cat_name,
        c.sub_child_cat_id,c.sub_child_cat_name
        FROM parent_categories a,child_categories b,sub_child_categories c 
        WHERE a.parent_cat_id=b.parent_cat_id AND b.child_cat_id=c.child_cat_id

嘗試了這個,但顯示0結果

        $this->db->select('a.parent_cat_id,a.parent_cat_name, b.child_cat_id,b.child_cat_name,c.sub_child_cat_id,c.sub_child_cat_name');
        $this->db->from('parent_categories a,child_categories b,sub_child_categories c');
        $this->db->where('a.parent_cat_id','b.parent_cat_id'); 
        $this->db->where('b.child_cat_id','c.child_cat_id'); 
        $result = $this->db->get()->result_array();

當我回顯上述ci查詢時,我得到

SELECT `a`.`parent_cat_id`, `a`.`parent_cat_name`, `b`.`child_cat_id`, `b`.`child_cat_name`, `c`.`sub_child_cat_id`, `c`.`sub_child_cat_name`
FROM `parent_categories` `a`, `child_categories` `b`, `sub_child_categories` `c`
WHERE `a`.`parent_cat_id` = 'b.parent_cat_id'
AND `b`.`child_cat_id` = 'c.child_cat_id' 

在此處輸入圖片說明

嘗試如下更改查詢中的$this->db->where where-

$this->db->select('a.parent_cat_id,a.parent_cat_name, b.child_cat_id,b.child_cat_name,c.sub_child_cat_id,c.sub_child_cat_name');
    $this->db->from('parent_categories a,child_categories b,sub_child_categories c');
    $this->db->where("a.parent_cat_id = b.parent_cat_id"); 
    $this->db->where("b.child_cat_id = c.child_cat_id");
    $result = $this->db->get()->result_array();

您必須為此使用聯接查詢

    $this->db->select('a.parent_cat_id,a.parent_cat_name, b.child_cat_id,b.child_cat_name,c.sub_child_cat_id,c.sub_child_cat_name'); 
    $this->db->from('parent_categories a');
    $this->db->join('child_categories b', 'b.parent_cat_id = a.parent_cat_id', 'left'); 
    $this->db->join('sub_child_categories c', 'c.child_cat_id = b.child_cat_id', 'left'); 
    $query = $this->db->get();
    $res =  $query->result();

我沒有要檢查的表結構和數據。 但是,嘗試一下。 它會工作。

 $this->db->select('a.parent_cat_id,a.parent_cat_name, b.child_cat_id,b.child_cat_name,c.sub_child_cat_id,c.sub_child_cat_name');
 $this->db->from('parent_categories a,child_categories b,sub_child_categories c');
 $this->db->join('a.parent_cat_id','b.parent_cat_id'); 
 $this->db->join('b.child_cat_id','c.child_cat_id');
 $this->db->get();

暫無
暫無

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

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