php - 使用 Zend Db 的嵌套选择

标签 php mysql zend-framework

我有一个问题

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

我需要使用 zend db 来构建这种类型的查询

最佳答案

这是将字符串查询转换为 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());

关于php - 使用 Zend Db 的嵌套选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5604872/

相关文章:

php删除字符串中的所有内容,保留最后一位

php - 为什么翻译不起作用?

Mysql 将不再启动

mysql - 将覆盖索引与 MySQL 中的唯一约束相结合

zend-framework - Zend Framework Bootstrap 问题

php - 如何使用 PHP GD 库向图像添加文本

php - 第一个0消失了?

mysql - 如何为 group_concat 使用分隔符?

php - Zend update() 更改 id,尽管 id 设置为 NULL 和 auto_increment

php - Zend_Form_Element_Captcha 异常问题...?