When I try to export csv in Sales > Order Grid, I am getting
You cannot define a correlation name 'order' more than once
Trace: #0 /www/Myproject/htdocs/lib/Varien/Db/Select.php(281): Zend_Db_Select->_join('left join', Array, 'order.entity_id...', Array, NULL) #1 /www/Myproject/htdocs/lib/Zend/Db/Select.php(357): Varien_Db_Select->_join('left join', Array, 'order.entity_id...', Array, NULL) #2 /www/Myproject/htdocs/app/code/local/Abc/OrderType/Model/Observer.php(32): Zend_Db_Select->joinLeft(Array, 'order.entity_id...', Array) #3 /www/Myproject/htdocs/app/code/core/Mage/Core/Model/App.php(1339): Abc_OrderType_Model_Observer->salesOrderGridCollectionLoadBefore(Object(Varien_Event_Observer)) #4 /www/Myproject/htdocs/app/code/core/Mage/Core/Model/App.php(1318): Mage_Core_Model_App->_callObserverMethod(Object(Abc_OrderType_Model_Observer), 'salesOrderGridC...', Object(Varien_Event_Observer)) #5 /www/Myproject/htdocs/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('sales_order_gri...', Array) #6 /www/Myproject/htdocs/app/code/core/Mage/Core/Model/Resource/Db/Collection/Abstract.php(590): Mage::dispatchEvent('sales_order_gri...', Array) #7 /www/Myproject/htdocs/lib/Varien/Data/Collection/Db.php(565): Mage_Core_Model_Resource_Db_Collection_Abstract->_beforeLoad() #8 /www/Myproject/htdocs/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php(951): Varien_Data_Collection_Db->load() #9 /www/Myproject/htdocs/app/code/core/Mage/Adminhtml/Block/Widget/Grid.php(1011): Mage_Adminhtml_Block_Widget_Grid->_exportIterateCollection('_exportCsvItem', Array) #10 /www/Myproject/htdocs/app/code/core/Mage/Adminhtml/controllers/Sales/OrderController.php(703): Mage_Adminhtml_Block_Widget_Grid->getCsvFile() #11 /www/Myproject/htdocs/app/code/core/Mage/Core/Controller/Varien/Action.php(418): Mage_Adminhtml_Sales_OrderController->exportCsvAction() #12 /www/Myproject/htdocs/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('exportCsv') #13 /www/Myproject/htdocs/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) #14 /www/Myproject/htdocs/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch() #15 /www/Myproject/htdocs/app/Mage.php(684): Mage_Core_Model_App->run(Array) #16 /www/Myproject/htdocs/index.php(87): Mage::run('', 'store')
And my observer method looks like
public function salesOrderGridCollectionLoadBefore($observer) {
$collection = $observer->getOrderGridCollection();
$select = $collection->getSelect();
$select->joinLeft(array('order' => $collection->getTable('sales/order'))
, 'order.entity_id=main_table.entity_id'
, array('type' => 'type'));
}