Multiple join with one group by
我需要加入并从 3 个表中获取所有数据,并且需要使用特定的表字段名称对其进行分组。我正在使用 codeigniter 和 sql server
我的查询:
1 2 3 4 5 |
有可能吗?
收到此错误:
字段名在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。
通常,当您在 SQL Server 中执行 Group By 时,您可以在 Select 语句中包含的列仅限于 Group By 子句中的列,以及常量或聚合函数。所以你可以这样做:
1 2 3 |
但您不能包含 Table1 中的任何其他列,除非它们在 Group BY 中。
在模型中使用它
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public function anyfunction($table3_id) { $this->db->select('*'); $this->db->from('table1'); $this->db->join('table2', 'table2.table2_id=table2.id', 'left'); $this->db->join('table3', 'table3.table1_id=table1.table1_id', 'left'); $this->db->where('table3.table1_id',$table3id); $this->db->order_by('table3.field_name','asc'); $query = $this->db->get(); if($query->num_rows() != 0) { return $query->result_array(); } else { return false; } } |
我希望它对你有用...