2011-02-07 90 views
1

您好我需要用Zend_Db_Select编写此sql,但我不知道如何编写子查询。我将不胜感激任何帮助。谢谢。如何在zend框架中使用子查询执行查询

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')) 

回答

0

也许this answer将帮助您使用standard sql querieszf-made ones之间做出选择。

我自己并不建议使用Zend_Db_Select来处理复杂且很少使用的查询。

1
// 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());