How execute query with subqueries in zend framewor

2019-02-28 10:21发布

Hi I need write this sql with Zend_Db_Select, but I dont know how I can write subqueries. I would appreciate any help. Thanks.

SELECT * FROM advert WHERE categoryId
           IN (
             SELECT id
              FROM `tree`
              WHERE `lft` BETWEEN 
               (SELECT lft FROM tree WHERE id = '2') AND 
               (SELECT rgt FROM tree WHERE id = '2'))

2条回答
Ridiculous、
2楼-- · 2019-02-28 10:30
// create the main query
$select = new Zend_Db_Select();

//create the subquery
$subSelect = new Zend_Db_Select();

// using the subquery in main query
$select->where('table.field IN(?)', $subSelect->assemble());
查看更多
冷血范
3楼-- · 2019-02-28 10:53

Maybe this answer will help you decide between using standard sql queries and zf-made ones.

I myself don't recommend using Zend_Db_Select for complex and scarcely used queries.

查看更多
登录 后发表回答