首页 文章

Mysql连接四个表后选择另一个表中的列作为选择键

提问于
浏览
0

enter image description here

我有上面显示的数据库 . 我有以下要求 . 假设我必须从四个表中获取所有数据small_text_data,big_text_data,file_data,其中meta_data_id与group_meta_data中group_id = 1的meta_data_id匹配 . 我的意思是返回此结果的函数的输入仅为group_id . 所以我该怎么写连接查询,选择特定组的所有meta_data_ids,然后从所有四个数据表中选择数据 . 我已经尝试了一些连接查询 . 但它没有工作 . 如果我能在Codeigniter活动记录中获得解决方案会更好 .

1 回答

  • 1

    试试这个,没试过

    function get_data($id){
         $query = $this->db
        ->select('g.*, s.*, b.*, f.* ')
        ->join('small_text_data s', 's.meta_data_id=g.group_id', 'left')
        ->join('big_text_data b', 'b.meta_data_id=g.group_id', 'left')
        ->join('file_data f', 'f.meta_data_id=g.group_id', 'left')
        ->where('g.group_id', $id)
        ->get('group_meta_data g');
    
    if($query->num_rows()) {
        return $query->result();
    }
    }
    

相关问题