注册 登录
编程论坛 MySQL论坛

3表联合查询【急】

czg123698741 发布于 2010-04-08 16:35, 959 次点击
大家好。请问一下啊~
我这里有3张表分别是:
invitefriends :
只有本站会员才能查看附件,请 登录
【用于记录原会员(memberid)发出邀请】,【游客访问链接后,直接记录来访者的IP(visitorip)】

tb_friend :
只有本站会员才能查看附件,请 登录
【用于记录好友的关系】,【owner_id 是记录发出要邀请注册的原会员ID】,【friend_id 是点击邀请链接进入注册的新会员】

tb_member :
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
【用户记录注册会员的信息】,【last_ip 是会员的登录OP地址】

问题:我现在就是想大家帮我写一个SQL语句,显示原会员介绍者的名字,能显示出通过链接之后并且申请为会员的记录(注意:如果已经在 tb_friend  好友列表中已经添加了关系的话就不需要显示了),并且不能自己添加自己为好友。也就是说,我只是想显示通过链接点击提交成为新会员并且还没有在好友列表中与其邀请者即:原会员,建立关系的记录;并且显示出被邀请新会员的发出邀请者即是:原会员的用户名


[ 本帖最后由 czg123698741 于 2010-4-8 16:40 编辑 ]
2 回复
#2
cnenc2010-05-04 15:00
你的表达真是纠结...
或者说我是理解能力真的很有限...
#3
bluecer2010-08-08 16:38
不能自己添加自己为好友应该在程序中控制,如果被邀请者能通过ip标识(我觉得用email标识比较靠谱),sql语句应该是这样吧:

SELECT memberid , user_id
FROM invitefriend, tb_member
WHERE visitorip = last_ip
AND NOT EXIST (
   SELECT owner_id,friend_id
   FROM tb_friend
   WHERE memberid=owner_id
   AND user_id=friend_id
)

复杂的数据库查询,没时间去验证了。

1