Nested Select using Zend Db

ε祈祈猫儿з 提交于 2019-12-10 03:52:11

问题


I have a query like

select empl.idemp ,(select em.firstnm from tbl_employeemaster em where em.idemp = empl.approvedby) as approvedby from tbl_empleaveapplication empl
join tbl_employeemaster emp on empl.idemp = emp.idemp
join tbl_leavemaster lvm on empl.idleavemaster = lvm.idleavemaster

I need to use zend db to build this type of query


回答1:


Here is how you can convert your string query into Zend_Db_Select

class Empleaveapplication extends Zend_Db_Table_Abstract
{
    protected $_name = 'tbl_empleaveapplication';
}

$table = new Empleaveapplication();

// create sub query
$subSql = $table->select()
                ->setIntegrityCheck(false)
                ->from(array('em' => 'tbl_employeemaster'), array('firstnm'))
                ->where('idemp = empl.approvedby', '');

// main query
$sql = $table->select()
             ->setIntegrityCheck(false)
             ->from(array('empl' => 'tbl_empleaveapplication'), array('idemp', 'approvedby' => new Zend_Db_Expr('(' . $subSql . ')')))
             ->joinInner(array('emp' => 'tbl_employeemaster'), 'empl.idemp = emp.idemp', array())
             ->joinInner(array('lvm' => 'tbl_leavemaster'), 'empl.idleavemaster = lvm.idleavemaster', array());


来源:https://stackoverflow.com/questions/5604872/nested-select-using-zend-db

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!