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

zend_db_select が最初のテーブルだけを取得するため、t2.ids が列リストにないというメッセージ エラーが表示されます。

この問題を解決する解決策はありますか? かく

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 に答える