栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何将复杂的SQL查询转换为Zend_Db_Select语句?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何将复杂的SQL查询转换为Zend_Db_Select语句?

您可以尝试将查询分为两个

Zend_Db_Select
语句-
父查询和子查询。您可以将
Zend_Db_Select
对象用作
from()
方法的参数,如下所示:

$mainQuery = $db->select();$mainQuery->from('user');$sub = $db->select();$sub->from('company');$mainQuery->from(array('subquery' => $sub));

然后您将得到这种查询:

SELECt `user`.*, `sub`.* FROM `user`     INNER JOIN (        SELECt `company`.* FROM `company`    ) AS `sub`

如您所见,

INNERJOIN
当您第二次添加时,它会自动添加
from()
-但我认为,可以将查询重写为用户联接,而不是语法中的multi。因此,您应该使用
joinInner()
method,因为这样您就可以将连接条件指定为它的第二个参数。

注意,该子查询与主查询类似,因此您可以构建主查询,将其克隆为子查询,并且由于

Zend_Db_Select
可能而删除了不必要的部分(
reset()
方法)并替换了它们:

$mainQuery = $db->select(); //and rest$subQuery = clone $mainQuery;$subQuery->reset(Zend_Db_Select::WHERe);$subQuery->where(); // and add valid conditions for subquery


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404664.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号