При более раннем импорте данных в CiviCRM некоторые номера участников помещались в пользовательское поле (member_number
) вместо более полезного (external_id
) поля.
Мои (по общему признанию ограниченные) навыки работы с SQL слишком хороширжавый, но я пытаюсь сделать следующее:
- ЕСЛИ
external_id
поле пустое, - И
contact_type
- "Индивидуальный" - Затем скопируйте данные из
member_number
в external_id
для соответствующего внутреннего идентификационного номера.
Я пробовал несколько вариантов этого с разными ошибками:
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"
Мне действительно нужно ВНУТРЕННЕЕ СОЕДИНЕНИЕ по этому вопросу?И я знаю, что утверждение WHERE обычно относится к таблице, из которой вы тянете, а не к той, в которую вы вставляете, но я не могу вспомнить, как правильно это сделать.