我必须使用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
答案 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();