Zend Db选择将子查询添加到FROM部分

时间:2013-11-22 12:37:02

标签: zend-framework zend-db

我尝试使用Zend_Db_Select在FROM部分中使用子查询构建查询。我正在寻找这样的事情:

SELECT COUNT(row_1) AS count_row FROM (SELECT row,row2,... FROM table WHERE row= ...) AS temp WHERE row = 0)

所以我试着这样做:

$oSubSelect = 
                $this->select()
                     ->setIntegrityCheck(false)   
                     ->from('table',
                             array(
                                 'row_id'
                                 )
                             )
                     ->where(PRFX.'table.id = '.PRFX.'table2.id')

                     ->from(PRFX.'table2',array('row','row2'));
    $this->select(false)
         ->setIntegrityCheck(false)
         ->from(new Zend_Db_Expr($oSubSelect).' AS temp',
                array(
                    'COUNT(row_id) AS row_count',
                    )
                ); 

但是这给了我一个错误信息。 最好的问候。

1 个答案:

答案 0 :(得分:10)

好的我解决了这个问题。问题在于

->from(new Zend_Db_Expr($oSubSelect).' AS temp',

应该是:

->from(new Zend_Db_Expr('('.$oSubSelect.')'),