table1 と table2 の 2 つのテーブルがあり、table1 にはユーザーの詳細を保存し、table2 には同じ table1.id と rating 列の評価を持つ複数の行である評価を保存していますが、次のコードを実行すると 1 つだけが返されます特定のユーザーではなく、すべての評価の行と平均。私はクエリが少し苦手です。 Select 内に Select が必要だと思いますが、それは CodeIgniter であるため、それを行うことはできません。助けてください
$this->db->select('table1.id,table1.name, table1.email, AVG(table2.rating)');
$this->db->from('table1');
$this->db->join('table2', 'table1.id = table2.review_id', 'inner');
$this->db->where(array('table1.status' => 1, 'table1.b_id' => $bid));
$query = $this->db->get();
return $query;
私が欲しいのは:
> id Name email AvG
>
> 1 name1 name1@xyz.com average of ratings by this id in table2
> 2 name2 name2@xyz.com average of ratings by this id in table2
しかし、私が得ているのは
> id Name email AvG
>
> 1 name1 name1@xyz.com average of all ratings in table2