标题:3表联合查询【急】
只看楼主
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
结帖率:78.99%
 问题点数:0 回复次数:2 
3表联合查询【急】
大家好。请问一下啊~
我这里有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 编辑 ]
搜索更多相关主题的帖子: 查询 
2010-04-08 16:35
cnenc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:2913
专家分:514
注 册:2007-1-29
得分:0 
你的表达真是纠结...
或者说我是理解能力真的很有限...
2010-05-04 15:00
bluecer
Rank: 2
等 级:论坛游民
帖 子:42
专家分:76
注 册:2007-4-25
得分:0 
不能自己添加自己为好友应该在程序中控制,如果被邀请者能通过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
)

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

2010-08-08 16:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-302212-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.530240 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved