Definition join on field and where other field has value
Drupal has an extra field in the join in which you can inject the extra where conditions, you can get to it by using a views_query_alter:

function my_module_views_query_alter(&amp;$view, &amp;$query) {
    if ($view-&gt;name === 'my_view' &amp;&amp; $view-&gt;current_display === 'the_display') {
        $args = $view-&gt;args[0];
        $query-&gt;table_queue['my_joined_table']['join']-&gt;extra = array(
            array(
                'value' =&gt; $args, // pass the args through
                'numeric' =&gt; FALSE, // or true if it is
                'field' =&gt; 'the_field',
                'operator' =&gt; '='
            ),
        );
    }
}