Mysql 使用Zend_Db_Select在一个联接中包含多个表
我知道Zend_Db_Select的使用是可选的,但我想知道是否有办法使用它来生成以下SQL:Mysql 使用Zend_Db_Select在一个联接中包含多个表,mysql,left-join,zend-db-select,Mysql,Left Join,Zend Db Select,我知道Zend_Db_Select的使用是可选的,但我想知道是否有办法使用它来生成以下SQL: LEFT JOIN (pages p , core_url_rewrite url) ON p.page_id = mi.page_id AND url.page_id = p.page_id 。。或者如果不支持的话。据我所知,一次只能加入一个表。如果将这些表作为Zend_Db_Expr包含: ->joi
LEFT JOIN (pages p
, core_url_rewrite url)
ON p.page_id = mi.page_id
AND url.page_id = p.page_id
。。或者如果不支持的话。据我所知,一次只能加入一个表。如果将这些表作为Zend_Db_Expr包含:
->joinLeft(new Zend_Db_Expr('(pages p, core_url_rewrite url)'),
'ON p.page_id = mi.page_id
AND url.page_id = p.page_id')
然后我会得到下面这样的结果,这是无效的
LEFT JOIN (pages p
, core_url_rewrite url) AS t
ON p.page_id = mi.page_id
AND url.page_id = p.page_id
不支持多个表联接。 Zend_Db_Select被编程为仅支持一个数组元素作为联接表参数名,如果它是Zend_Db_Expr或Zend_Db_Select实例,它将为其指定别名“t”,假设您输入的是单个表名/表达式 您可以将其拆分为两个joinLeft,这对于将来的维护可能会更好,并且与您想要的没有区别