2012-06-28 13 views

答えて

5

$this->db->select('games.id, games.title, games.slug, games.dev_id, games.dev, games.plat_id, games.plat'); 
$this->db->select_avg('rates.rate'); 
$this->db->from('games'); 
$this->db->join('rates', 'games.id = rates.game_id','left'); 
$this->db->group_by('rates.game_id'); 
$q = $this->db->get(); 

この命令を使用して、左には複数の結果をもたらすでしょう参加します。 avgとgroup byを使用すると、各レコードに対して1つの行しか取得できません。

+0

私は 'left'、' outer left'などを使ってみましたが、結果は一切ありませんでした。 (また、 'left'は' id'を 'games'から' rates'にシフトさせます。私はしたくありません。 –

+1

平均レートは$ this-> db-> select_avg( 'rates.rate')とゲームIDとしてgame.idにエイリアスを付けて衝突を防ぎます –

+0

、なぜすべての命令を$ qに割り当てるのですか?最後に使用するのはgroups.grate_idで、すべて実行されます –

関連する問題