Nora & Melanie & I discussed this but Nora & Melanie wanted to give some more thought to how to deal with these (e.g should we have a custom field on addresses denoting the source / reliability of the data) so creating a phab to track that is still outstanding
Note the queries I'm using to get the data from the existing import tables (this is the updated version, based on the cumulate efforts in the comments
Query 1 - same as query 2 except for FROM
FROM civicrm_tmp_d_dflt_cb3073f1f3fbd3546df65be0db883c97
Query 2
SELECT _entity_id as contact_id, 'NOCA_update' as data_source, CONCAT( ah_mb_coa_coa_effective_move_date_68, '01') as update_date, if (ah_mb_coa_primary_number_is_a_box_84 = 'Y', CONCAT_WS(' ', IF (LENGTH(ah_mb_coa_pre_direction_71), ah_mb_coa_pre_direction_71, NULL), IF (LENGTH(ah_mb_coa_primary_name_72), ah_mb_coa_primary_name_72, NULL), IF (LENGTH(ah_mb_coa_primary_number_70), ah_mb_coa_primary_number_70, NULL), IF (LENGTH(ah_mb_coa_street_suffix_73), ah_mb_coa_street_suffix_73, NULL), IF (LENGTH(ah_mb_coa_post_direction_74), ah_mb_coa_post_direction_74, NULL) ) , CONCAT_WS(' ', IF (LENGTH(ah_mb_coa_primary_number_70), ah_mb_coa_primary_number_70, NULL), IF (LENGTH(ah_mb_coa_pre_direction_71), ah_mb_coa_pre_direction_71, NULL), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 1), 2))), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 2)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 1)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 2), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 2), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 3)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 2)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 3), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 3), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 4)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 3)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 4), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 4), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 5)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 4)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 5), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_primary_name_72, ' ', 5), ' ', -1), 2))), NULL), IF (LENGTH(ah_mb_coa_street_suffix_73), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 1), 2))) , NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 2)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 1)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 2), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 2), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 3)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 2)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 3), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 3), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 4)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 3)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 4), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_street_suffix_73, ' ', 4), ' ', -1), 2))), NULL), IF (LENGTH(ah_mb_coa_post_direction_74), ah_mb_coa_post_direction_74, NULL) ) ) as street_address, CONCAT_WS(' ', IF (LENGTH(ah_mb_coa_unit_type_75), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 1), 2))) , NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 2)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 1)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 2), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 2), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 3)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 2)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 3), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 3), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 4)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 3)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 4), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 4), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 5)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 4)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 5), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_unit_type_75, ' ', 5), ' ', -1), 2))), NULL), IF (LENGTH(ah_mb_coa_unit_number_76), ah_mb_coa_unit_number_76 , NULL) ) as supplemental_address_1, CONCAT_WS(' ', CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 1), 2))), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 2)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 1)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 2), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 2), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 3)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 2)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 3), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 3), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 4)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 3)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 4), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 4), ' ', -1), 2))), NULL), IF(LENGTH(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 5)) > LENGTH(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 4)), CONCAT(UPPER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 5), ' ', -1), 1, 1)), LOWER(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(ah_mb_coa_city_name_77, ' ', 5), ' ', -1), 2))), NULL) ) as city, ah_mb_coa_state_abbreviation_78 as state_province, ah_mb_coa_zip_code_79 as postal_code, ah_mb_coa_zip_addon_80 as postal_code_suffix, 'United States' as country FROM civicrm_tmp_d_dflt_422d456c84c29150e615ba3c33566152 INNER JOIN civicrm_contact c ON c.id = _entity_id WHERE ah_mb_coa_coa_effective_move_date_68 != '' AND ah_mb_coa_primary_name_72 != '' ;