2013-11-22 132 views
3

我尝试使用Zend_Db_Select在FROM部分中使用子查询构建查询。进出口寻找财产以后这样的:Zend Db选择添加子查询到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', 
        ) 
       ); 

但是这给了我一个错误信息。 此致敬礼。

回答

10

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

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

应该是:

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