我有一个我无法使用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...)')
,但它不起作用,
如果我(选择...,ID),然后在该ID上加入,它可能可以与左联接起来,但是我想获得此非常sql查询。有可能吗?
谢谢
我建议加入。您可能会获得更好的性能,因为通常很难使数据库优化。使用zend_db_select编写它也很容易。或者新的Zend_Db_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(...);