MySQL根据特定条件合并,然后根据其他特定条件删除

时间:2019-01-31 20:15:39

标签: mysql

我有两种方法将数据输入到我们的数据库中。一种是每月上传两次以跟踪会员付款。其他的则由我们的办公室员工输入,并列为待处理的注册,直到我们得到一个验证付款以上传的文件。

我们从员工ID上传密钥。雇员ID不以由办公室的工作人员手动输入的时间存在,但确实存在于所提供的双周文件,所以该数据库必须手动清除这是越来越非常繁琐重复的。

什么编号喜欢做的是从心不是在我们上传文件提供到我想保留(主动)记录我们的手册条目(pendingenrollment)合并具体数据然后删除(pendingenrollment)后合并是成功的。

我们有会员资格标准。要保留的记录被标记为有效,要删除的记录被标记为PendingEnrollment。以下代码返回我们所有未完成的注册记录,其中包含有效的重复记录。我不确定将某些字段复制到活动记录然后删除待定注册记录的语法。下面的代码显示Select语句仍在测试中。抱歉这么久了。

我已经尝试了各种各样在各种论坛中找到的例子,而据我所知,下面的例子是可行的。到目前为止,只有返回待处理注册。

SELECT * FROM locte_membership_test

INNER JOIN (
 SELECT
  first_name,
  last_name,
  lcl_affiliate_number

FROM locte_membership_test
GROUP BY lcl_affiliate_number, first_name, last_name
HAVING COUNT(*) > 1) Duplicate on Duplicate.first_name = 
locte_membership_test.first_name AND Duplicate.last_name = 
locte_membership_test.last_name AND Duplicate.lcl_affiliate_number = 
locte_membership_test.lcl_affiliate_number
WHERE locte_membership_test.lcl_employee_id IS NULL;   

期望已指定,字段将从未完成的注册记录复制到重复的活动记录中的相同字段,然后删除未完成的注册记录。

基本上 IF memberstatus =活动的然后从重复记录中复制[FIELDS] WHERE memberstatus =待注册; 删除重复的挂起登记记录;

或合并记录,指定要合并到活动记录中的字段并指定活动记录为主要记录。

0 个答案:

没有答案