0
我正在使用zend,但這個問題的答案完全可以在mysql中給出。如何在連接查詢後將「FIRST」表的列移動到結果中的最後一個?
protected function _getView() {
$gatewayTable = new Emailer_Model_DbTable_Gateway();
$select = $this->_getDb()->select()
->from(
array(
'gatewayTable' => $gatewayTable->getTableName()
),
array(
'id',
'name',
'requireAuth',
'smtphost',
'smtpPort',
'sendLimit',
'inError',
'lastError',
'errorCount'
)
);
return $select;
}
$authTable = new Emailer_Model_DbTable_Auth();
$select = $this->_getView();
$select
->join(
array(
'authTable' => $authTable->getTableName()
),
'gatewayTable.id = authTable.idEmailerGateway',
array(
"authId" => "id",
'username',
'fromAddress',
'fromName',
"password" => "encryptedPwd",
'sentCount',
'lastUsed'
)
);
當我執行一個獲取對所得$select
,我想第一個表的errorCount
列在$res
來在最後。
$res = $this->_getDb()->query($select)->fetch();
由於菲利普,我從第一表格中移除所述'errorCount'柱和聯接使用'之後加入它$ select-> columns('errorCount','gatewayTable')' –
@Phillip:就是這樣,我不想改變我的_getView(),即我不想「不要在開始時選擇errorCount」然後將它添加到需要的地方,有沒有像removeColumn(),刪除列? –