【发布时间】:2011-02-22 10:12:09
【问题描述】:
我正在尝试使用 Zend_Db_Table 构建一个复杂的(嗯...)查询,其中我需要将原始表与一个额外的表连接起来,并使用 zend_db_expr 从原始表中获取一些额外的信息。
但是,事情从一开始就出错了。我要做的是:
$select = $this->getDbTable()->select(Zend_Db_Table::SELECT_WITH_FROM_PART)
->setIntegrityCheck(false);
$select->from( $this->getDbTable() , array(
'*' ,
new Zend_Db_Expr('`end` IS NULL as isnull') ,
new Zend_Db_Expr('`sold` IN (1,2,3) as issold') ,
) );
Zend_Debug::dump( $select->__toString() );exit;
这是什么结果:
SELECT `items`.*, `items_2`.*, `end` IS NULL as isnull, `sold` IN (1,2,3) as issold FROM `items`
INNER JOIN `items` AS `items_2`
不过,在我与另一张表进行联接之前,我需要它是
SELECT `items`.*, `end` IS NULL as isnull, `sold` IN (1,2,3) as issold FROM `items`
我不需要与自身进行内部连接,我只需将这两个 Zend_Db_Expr 添加到应该选择的内容中,之后我将继续使用连接和 where's 等构建查询
$select->joinLeft( ... )
->where(...)
有什么想法吗?干杯。
【问题讨论】:
标签: mysql join zend-db-table