首页 文章

如果没有公共字段,如何使用Codeigniter连接三个表?

提问于
浏览
0

让我们假设我的Mysql表是

Table 1 - Deposit Details

id | deposit_type |金额| deposit_master_id 1 |固定| 100000 | 1

Table 2 - Deposit Master

deposit_master_id | bank_id | branch_id 1 | 1 | 2

Table 3 - Bank Master

bank_id | bank_name 1 | SBI

我知道Codeigniter中的基本SQL Join操作,我也做了 . 但是这里有一个场景,这三个表没有共同的字段,但我认为它们可以加入,但我没有任何线索 . 如何从 Bank MasterDeposit Details 获得 Bank Name

样本输出

id | bank_name 1 | SBI

2 回答

  • 1
    select d.id,bm.bank_name
    from Deposit_Details d
    inner join Deposit_Master dm on dm.deposit_master_id = d.deposit_master_id
    inner join Bank_Master bm on bm.bank_id = dm.bank_id
    
    
    $this->db->select('Deposit_Details.id,Bank_Master.bank_name');
    $this->db->from('Deposit_Details');
    $this->db->join('Deposit_Master', 'Deposit_Master.deposit_master_id = Deposit_Details.deposit_master_id');
    $this->db->join('Bank_Master', 'Bank_Master.bank_id = Deposit_Master.bank_id');
    $query = $this->db->get();
    
  • 1

    可以像这样使用查询

    //从表中选择你想要的列

    $this->db->select('*');
     $this->db->from('Deposit Details dd'); 
        $this->db->join(' Deposit Master dm', 'dd.deposit_master_id=dm.deposit_master_id', 'inner');
        $this->db->join('Bank Master bm ', 'bm.bank_id =dm.bank_id', 'inner');
    

相关问题