views_query_alter Matching all values in IN clause
The following code should allow you to add the SQL code found in the accepted answer to the S.O. post you mentioned to the Views generated SQL code.

function YOUR_MODULE_views_query_alter(&amp;$view, &amp;$query) {
    if ( $view-&gt;name == 'YOUR_VIEW_NAME' ) {
        $value_count = 0;

        // Collect the number of selected values in the exposed filter
        foreach($query-&gt;where[1]['conditions'] as $key =&gt; $condition) {
            if ( $condition['field'] == 'field_data_field_listtext.field_data_field_listtext_value' ) {
                $value_count = sizeof($query-&gt;where[1]['conditions'][$key]['value']);
                break; 
            }
        }

        // Add the having expression
        if( $value_count &gt; 0 ){
          $query-&gt;add_having_expression(
            0,
            "count(distinct :field_name) = :value_count", 
            array(
              ':field_name' =&gt; 'field_data_field_list_select.field_list_select_value', 
              ':value_count' =&gt; $value_count
            )
          );
        }
    }
}


Good luck!