An earlier data import in CiviCRM placed some member numbers into a custom field (member_number
) instead of the more useful (external_id
) field.
My (admittedly limited) SQL skills are way too rusty, but what I'm trying to do is:
- IF
external_id
field is empty, - AND the
contact_type
is "Individual" - THEN copy the data from
member_number
toexternal_id
for the matching internal id number.
I've tried a few variations of this, with different errors:
INSERT INTO test_table (external_id)
SELECT member_number
FROM member_info
INNER JOIN test_table
ON memberinfo.entity_id=test_table.id
WHERE test_table.external_id IS NULL AND test_table.contact_type = "Individual"
Do I even really need the INNER JOIN on this? And I know the WHERE statement usually refers to the table you're pulling from, not the one you're inserting to, but I can't remember the right way to do this.