Views to display events with single date events and events with date range
Since I was completely unable to make myself understood when asking the question, I thought maybe the solution could clear things up. In the views view I filter  event dates like specified in the question. I then used the hook_views_query_alter to add an or group condition like so:

function MYMODULE_views_query_alter (&amp;$view, &amp;$query) {
  if ($view-&gt;name != 'events') { return; }

  global $language;
  $lang = $language-&gt;language;

  $start_date = isset ($_GET['field_from_date_value']['value']['date']) ? $_GET['field_from_date_value']['value']['date'] : date('Y-m-d');
  $end_date   = isset ($_GET['field_from_date_value2']['value']['date']) ? $_GET['field_from_date_value2']['value']['date'] : date('Y-m-d');

  $query-&gt;group_operator = 'OR';

  $status_condition = array (
    'field' =&gt; 'node.status',
    'value' =&gt; 1,
    'operator' =&gt; '='
  );

  $node_type_condition = array (
    'field' =&gt; 'node.type',
    'value' =&gt; array ('event'),
    'operator' =&gt; 'in'
  );

  $language_condition = array (
    'field' =&gt; 'node.language',
    'value' =&gt; array ($lang),
    'operator' =&gt; 'in'
  );

  $date_condition_value = array (
    'field' =&gt; "DATE_FORMAT(field_data_field_from_date.field_from_date_value, '%Y-%m-%d') &gt;= :field_data_field_from_date_field_from_date_value",
    'value' =&gt; array (':field_data_field_from_date_field_from_date_value' =&gt; $start_date),
    'operator' =&gt; 'formula'
  );

  $date_condition_value2 = array (
    'field' =&gt; "DATE_FORMAT(field_data_field_from_date.field_from_date_value2, '%Y-%m-%d') &lt;= :field_data_field_from_date_field_from_date_value2",
    'value' =&gt; array (':field_data_field_from_date_field_from_date_value2' =&gt; $end_date),
    'operator' =&gt; 'formula'
  );

  $condition_type = 'AND';

  $query-&gt;where[10]['conditions'] = array (
    $status_condition,
    $node_type_condition,
    $language_condition,
    $date_condition_value,
    $date_condition_value2
  );

  $query-&gt;where[10]['type'] = $condition_type;

}