Zend framework zend_db获得;选择…,(选择…)作为x从&引用;

Zend framework zend_db获得;选择…,(选择…)作为x从&引用;,zend-framework,zend-db,Zend Framework,Zend Db,我有一个无法使用Zend_Db_Select生成的查询 SELECT `f`.*, (SELECT Sum(x) AS `y` FROM z AS pf WHERE pf.q_id = f.id) AS w FROM f ... WHERE ... GROUP BY `f`.`id` 所以现在我正在手动运行它$db->fetchAll($sql) 我如何获得 select f.* , (select ...) a

我有一个无法使用Zend_Db_Select生成的查询

SELECT `f`.*,          
        (SELECT Sum(x) AS `y`
        FROM   z AS pf
        WHERE  pf.q_id = f.id) AS w
FROM  f ...
WHERE ...
GROUP  BY `f`.`id`  
所以现在我正在手动运行它
$db->fetchAll($sql)

我如何获得

select f.* , (select ...) as `something` from ...
我想使用
->column('f.*(select…)
,但它不起作用

如果我选择左连接(select…,id),然后在该id上连接,它可能会工作,但我想获得这个非常sql的查询。可能吗


谢谢

我建议加入。您可能会获得更好的性能,因为子选择通常很难让数据库进行优化。使用Zend_Db_Select编写此代码也很容易。或者,新的
Zend\u Db\u Expr
可能适用于此

   $select = $db->select()
   ->from('f', array('f.foo', 'f.bar', new Zend_Db_Expr('SELECT Sum(x) AS `y`
                                                         FROM   z AS pf
                                                         WHERE  pf.q_id = f.id') => 'f'))
   ->where(...);

我用加入的方式,忘记了zend_db_Expr