AJAXX AutoComplete joins and unions causing error
So, I figured out how to convert MySQL to Drupal SQL, of a join and union sql transaction, I am not done - but this is the start and the rest is just copy / paste and massage. 

$matches = array();
  $debug_stop = "";

  // Firstname and Lastname - Larry Adams
  $firstname_lastname_query = db_select('field_data_field_first_name', 'f') 
     -&gt;fields('f')
    -&gt;condition('field_first_name_value', '%'. db_like($string) .'%', 'LIKE');
  $firstname_lastname_query-&gt;leftJoin('field_data_field_last_name', 'l', 'f.entity_id = l.entity_id');
  $firstname_lastname_query-&gt;fields('l');

  // Username checks - lAdams
  $username_query = db_select('field_data_field_user_name', 'u')
      -&gt;fields('u')
      -&gt;condition('field_user_name_value', '%' . db_like($string) . '%', 'LIKE');
  $username_query-&gt;leftJoin('field_data_field_last_name', 'l', 'u.entity_id = l.entity_id');
  $username_query-&gt;fields('l');

  // Unionize the query to previous query
  $firstname_lastname_query-&gt;union($username_query);

  // Nickname checks - lar-bear Adams
  $nickname_lastname_query = db_select('field_data_field_nickname', 'ni')
      -&gt;fields('ni')
      -&gt;condition('field_nickname_value', '%' . db_like($string) . '%', 'LIKE');
  $nickname_lastname_query-&gt;leftJoin('field_data_field_last_name', 'l', 'ni.entity_id = l.entity_id');
  $nickname_lastname_query-&gt;fields('l');

  // Unionize the query to previous query
  $firstname_lastname_query-&gt;union($nickname_lastname_query);

  // Execute the query
  $result = $firstname_lastname_query-&gt;execute();


  $debug_stop = "";
  // save the query to matches
  foreach ($result as $row) {
    // If we returned back a user_name accessible field
    if (isset($row-&gt;field_user_name_value)) {
      $matches[$row-&gt;field_user_name_value] = check_plain($row-&gt;field_user_name_value);
    }
    // If we returned back a first_name_value accessible field
    if (isset($row-&gt;field_first_name_value)) {
      // with a last name
      if ($row-&gt;field_last_name_value) {
       $first_last_name = $row-&gt;field_first_name_value ." ". $row-&gt;field_last_name_value;
       $matches[$first_last_name] = check_plain($first_last_name);
      }
    }

  }  

  // Return the result to the form in json
  drupal_json_output($matches);