I am working on a project where there is `custom column` already installed on `sales_flat_order` table. I know, in order grid magento uses `sales_flat_order_grid` table to fetch data. I have used `join` technique and works fine, all filters are also working except `filter by status`. My code on my `Grid.php` /** * @brief add custom_column * @param Mage_Sales_Model_Resource_order_grid_collection $collection */ public function setCollection($collection) { $collection->getSelect()->join(array('s' => 'sales_flat_order'), 'main_table.entity_id=s.entity_id', 'custom_column'); //Mage::log((string) $collection->getSelect(), null, 'order-grid.log'); parent::setCollection($collection); } protected function _prepareColumns() { $this->addColumn('custom_column', array( 'header' => Mage::helper('sales')->__('custom column'), 'index' => 'custom_column', //'filter' => 's.custom_column', 'type' => 'currency', 'renderer' => 'DigitalCinema_Pos_Block_Adminhtml_Sales_Order_Renderer_Grid', )); return parent::_prepareColumns(); } With this all filters work (not sure why it works even without `filter` tag in my custom column), and when I do **filter by status** then it tells me > Integrity constraint violation: 1052 Column 'status' in where clause > is ambiguous **Now** When I put `'filter' => 's.custom_column',` back, I get following error: > Fatal error: Call to a member function setColumn() on boolean in > \app\code\core\Mage\Adminhtml\Block\Widget\Grid\Column.php > on line 370 I even tried putting `'filter_index' => 's.partpayment_due'` too, but same result. It's driving me insane.