我尝试使用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',
)
);
但是这给了我一个错误信息。 最好的问候。
答案 0 :(得分:10)
好的我解决了这个问题。问题在于
->from(new Zend_Db_Expr($oSubSelect).' AS temp',
应该是:
->from(new Zend_Db_Expr('('.$oSubSelect.')'),