Php Mysql从另一个表中选择一列作为选择键后连接四个表
我有上面显示的数据库。 我有以下要求。 假设我必须从四个表中获取所有数据,小文本数据,大文本数据,文件\u data,其中meta\u data\u id与group\u meta\u data中group\u id=1的meta\u data\u id匹配。我的意思是返回此结果的函数的输入仅为group\u id。因此,我应该如何编写连接查询,选择特定组的所有meta\u data\u id,然后从所有四个数据表中选择数据。 我尝试了一些连接查询。但它不起作用。如果我能在Codeigniter活动记录中获得解决方案,那会更好。试试这个,没有测试Php Mysql从另一个表中选择一列作为选择键后连接四个表,php,mysql,codeigniter,activerecord,Php,Mysql,Codeigniter,Activerecord,我有上面显示的数据库。 我有以下要求。 假设我必须从四个表中获取所有数据,小文本数据,大文本数据,文件\u data,其中meta\u data\u id与group\u meta\u data中group\u id=1的meta\u data\u id匹配。我的意思是返回此结果的函数的输入仅为group\u id。因此,我应该如何编写连接查询,选择特定组的所有meta\u data\u id,然后从所有四个数据表中选择数据。 我尝试了一些连接查询。但它不起作用。如果我能在Codeigniter
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();
}
}
不需要返回rows@aseferov,我相信问题是,你的3个连接都应该连接到g.id,而不是g.group\U id。