【发布时间】:2023-03-14 15:44:01
【问题描述】:
我有两张桌子
用户
userID username email
1 abc abc@abc.com
2 def def@def.com
3 ghi ghi@ghi.com
推荐
refID userID invEmail
1 1 abc@def.com
2 1 omg@mog.com
3 1 def@def.com
所以我打算给一个invited user 5 point 同时给一个inviter 10 point,所以基本上userID 1 获得了 30 而userID 2 获得了 5。我可以在 PHP 中做的一点但是我面临的困难是当一个要识别的invEmail。如果可行的话,我不介意分成多个查询。
如何在 sql 中显示?
我尝试了类似的东西
SELECT *, count(r.userID) FROM user u, referral r WHERE u.userID = r.userID OR u.email = r.invEmail GROUP BY r.userID
它返回了错误的值。
我希望它返回什么,邀请者和被邀请者的数量(根据邀请者邀请匹配的注册电子邮件)
我该怎么做?
谢谢。
编辑:我忘了添加一些问题,如果我希望邀请人只有在被邀请人注册的情况下才能获得 10 分怎么办?我的意思是,只有当 u.email 中存在 invEmail 时,才会收到 10 分的 userID。对不起我的错误。
【问题讨论】:
-
您能否编辑您的答案以包括 A)它返回的内容和 B)您希望它返回的内容?
-
ok 编辑添加应该返回的内容