2011-09-12 5 views
0

で複数のテーブルを結合:ZendのDBは、私は次のように私のmaintableへの2つのテーブルを結合しようとしていますマルチカウント

bannermanager_banner = main_table

bannermanager_banner_click =表Iはmaintable.id = banner_click_tableレコードカウントをしたいです。 banner_id

bannermanager_banner_impressionは=表は、私がmaintable.id = banner_impression_table.banner_id

が、私は多くのことをしようとしたレコード数、私が持っている閉じた状態にしたいことはこれです:

$this->getSelect() 
     ->join(array('bc' => $this->getTable('vortex_bannermanager/banner_click')), 'bc.banner_id=main_table.id', array('banner_click_count' => 'count(bc.id)')) 
     ->join(array('bi' => $this->getTable('vortex_bannermanager/banner_impression')), 'bi.banner_id=main_table.id', array('banner_impression_count' => 'count(bi.id)')) 
     ->group('main_table.id'); 

しかし、カウントは各= Sの任意のポインタのための

おかげで両方の合計が戻ってきています。

答えて

0

カウントとグループの性質によって、実際にはこのように達成することはできません。 1つのクエリで複数のカウントが必要な場合は、サブクエリを使用する必要があります。

+0

乾杯、まさに私がやったこと= –

関連する問題