我尝试使用 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',
                    )
                );

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

最佳答案

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

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

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

关于zend-framework - Zend Db Select 将子查询添加到 FROM 部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20145109/

10-15 00:18
查看更多