0

我想创建一个执行以下操作的 cron:

检查referrer_id为0的所有用户referrer col,然后使用用户电子邮件加入并使用加入的用户ID更新referrer_id。这是我的代码:

SELECT us.id usId
     , us.referrer usRe
     , us.referrer_id usReId
     , re.id reId
     , re.email 
  from users us 
  LEFT 
  JOIN users re 
    ON us.referrer = re.email 

我必须完成更新部分,问题是 Join 给了我错误的结果,我得到的所有情况下用户 id 1。

您是否在该查询中发现了问题?

肿瘤坏死因子

4

2 回答 2

1

如果我理解正确:

update users u join
       users r
       on u.referrer = r.email 
    set u.referrer_id = r.id
    where referrer_id is null;
于 2019-11-14T11:52:25.723 回答
1

我想这个答案对你有用

UPDATE users as us INNER JOIN users as re 
ON us.referrer = re.email 
SET us.referrer_id = re.id 
WHERE us.referrer_id = 0;
于 2019-11-14T11:57:26.760 回答