1

我必须为此 sql 使用 zend_db_select 从多个表中进行选择:

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 只取第一个表

有什么办法可以解决这个问题吗?谢谢

4

1 回答 1

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();
于 2013-05-14T14:39:44.973 回答