How do you join a custom table to a node from a field with hook_views_data()
When you have a field you have a table for it with stored values, so you just add the fields table to your query 
Like 

/**
 * Implements hook_views_query_alter().
 */
function HOOK_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {  
   $query-&gt;addTable('my_fields_table');
   $query-&gt;addWhere(&lt;condition group id&gt;, '&lt;table_column&gt;', &lt;value&gt;, '&lt;operator&gt;');
   // These you can use to alter the behaviour for your condition group.
   //$query-&gt;setWhereGroup('OR/AND', &lt;condition group id&gt;);
   // This one is for the global group behavior.
   //$query-&gt;setGroupOperator('&lt;OR/AND&gt;');
  }
}