CiviCRM中的早期数据导入将一些成员编号放入自定义字段(member_number
)而不是更有用的(external_id
)字段。
我的(公认有限)SQL技能太生疏了,但我想做的是:
external_id
字段为空,contact_type
是“个人”member_number
复制到external_id
以获取匹配的内部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"
我真的需要INNER JOIN吗?而且我知道WHERE语句通常指的是你要从中提取的表,而不是你要插入的表,但我记不起正确的方法。
答案 0 :(得分:2)
update test_table
set external_id =
if(external_id = '' and contact_type = 'Individual', member_number,external_id)