hook_views_data Join by multiple value field
I believe this https://www.drupal.org/node/810932#comment-3020000 comment describes exactly what you need which is the extra field in a join description:

$data['node']['table']['join'] = array(
  // this explains how the 'node' table (named in the line above)
  // links toward the node_revision table.
  'node_revision' =&gt; array(
    'left_field' =&gt; 'nid',
    'field' =&gt; 'nid',
    'extra' =&gt; array(array('field' =&gt; 'fieldname', 'value' =&gt; 'value', 'operator' =&gt; '='))
 ),


);