2

CiviCRM 中较早的数据导入将一些成员编号放入自定义字段 ( member_number) 而不是更有用的 ( external_id) 字段。

我的(诚然有限的)SQL技能太生疏了,但我想做的是:

  1. 如果external_id字段为空,
  2. 并且contact_type是“个人”
  3. member_number然后将数据从to复制到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 语句通常是指您从中提取的表,而不是您要插入的表,但我不记得正确的方法。

4

1 回答 1

2
update test_table
set external_id = 
if(external_id = '' and contact_type = 'Individual', member_number,external_id)
于 2011-12-06T23:43:06.903 回答