首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ZEND 2.工会。向UNION查询添加限制

ZEND 2.工会。向UNION查询添加限制
EN

Stack Overflow用户
提问于 2014-08-01 13:38:14
回答 2查看 662关注 0票数 1

我有一个如下所示的sql查询,我想在2中创建这个查询。

(按镇从exp_personal_data ORDER选择id作为id ) UNION (从pd_unregister选择id作为id )

我希望有工会,并添加到这个限制,订单等。

$this->_select->合二为一($selectPdContest,'union‘);

当我像这样写查询的时候。

$this->_select->合并($selectPdContest,'union all')->limit('10);

查询如下:

(按城镇限制从exp_personal_data ORDER中选择id AS id ) UNION (从pd_unregister选择id作为id )

限制只添加到第一选择。我希望限制会像这样加起来。

(从exp_personal_data ORDER BY城镇选择id作为id ) UNION (从pd_unregister选择id作为id )限制为10

如何在Zend框架2中实现这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-14 13:37:00

加上这些行就行了,

$select1 =NewSelect1();$select1->合二为一($selectPdContest,'union‘);

$select3 =NewSelect3();$oneTwo =$select3->从(‘sub’=> $select1)->limit(10);

票数 0
EN

Stack Overflow用户

发布于 2014-08-01 14:40:21

解决方案1(简单):

代码语言:javascript
复制
    $adapter = $this->tableGateway->getAdapter();
    $resultSet = $adapter->query("(SELECT user_id AS id FROM user ORDER BY id)  UNION  (SELECT account_id AS id FROM account) LIMIT 10",$adapter::QUERY_MODE_EXECUTE);
    print_r($resultSet->toArray());die;

解决方案2(复杂):

代码语言:javascript
复制
use Zend\Db\Sql\Sql;
use Zend\Db\Sql\Select;

//sql query first part
$adapter = $this->tableGateway->getAdapter();//the db connection adapter
$select = new Select('user');
$select->columns(array('id' => 'user_id'));
$select->order('id');
$sql = new Sql($adapter);
$statement = $sql->getSqlStringForSqlObject($select);

//sql query second part         
$select2 = new Select('account');
$select2->columns(array('id' => 'account_id'));
$sql = new Sql($adapter);
$statement2 = $sql->getSqlStringForSqlObject($select2);

//combine the two statements into one        
$unionQuery = sprintf('%s UNION %s','('.$statement = $sql->getSqlStringForSqlObject($select).')',
'('.$statement2 = $sql->getSqlStringForSqlObject($select2).') LIMIT 10'); 

//execute the union query 
$resultSet = $adapter->query( $unionQuery, $adapter::QUERY_MODE_EXECUTE);

print_r($resultSet->toArray());die;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25081555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档