在from()zend_db_select中添加多个表

时间:2013-05-14 12:10:16

标签: zend-framework zend-db-select

我必须使用zend_db_select为这个sql执行多表选择:

SELECT t1.id,t2.ids, t3.uid 
FROM table1 t1,table2 t2, table3 t3

这是使用的代码:

$subQuery = $this->getDbTable ()->select ()->setIntegrityCheck ( false )
->from(array('t1'=>'table1','t2'=>'table2','t3'=>'table3'),array('t1.id','t2.ids','t3.uid'))
->query()
->fetchAll();

所以我有消息错误说t2.ids不在列列表中 因为zend_db_select只占用第一个表

解决这个问题的任何解决方案? thaks

1 个答案:

答案 0 :(得分:0)

您可以使用交叉联接:

$subQuery = $this->getDbTable ()->select ()->setIntegrityCheck ( false )
->from(array('t1'=>'table1'),array('t1.id'))
->joinCross(array('t2'=>'table2'),array('t2.ids'))
->joinCross(array('t3'=>'table3'),array('t3.uid'))
->query()
->fetchAll();