Using Filter on NULL Values in Views 3
I have implemented this custom filter. All Thanks and credit goes to Amar :). I am just sharing the code.

// Status of payment paid or unpaid if pid is null in joined result set : unpaid
    $data['fee_schedule_payments']['payment_status'] = array(
        'real field' =&gt; 'pid',
        'title' =&gt; t('Fee schedule payment status'), 
        'label' =&gt; t('Status'),
        'help' =&gt; t('Fee schedule payment status'), 
        'field' =&gt; array(
      'handler' =&gt; 'fee_management_handler_field_payment_status', 
      'click sortable' =&gt; TRUE, // This is use by the table display plugin.
    ), 
    'filter' =&gt; array(
      'handler' =&gt; 'fee_management_handler_filter_payment_status',
      'numeric' =&gt; TRUE,
    ),
    ); 


Handler

class fee_management_handler_filter_payment_status extends views_handler_filter_many_to_one {
  function get_value_options() {
    $this-&gt;value_options = array('1' =&gt; 'Paid', '0' =&gt; 'Unpaid');
  }

    function query() {
    // as per your database st
        ;


  }


}