作者jjjkkkooo (接科噎欧)
看板Database
标题Re: [SQL ] 类似Facebook加好友机制
时间Wed Jun 29 08:38:25 2011
※ 引述《smlboby (波比)》之铭言:
: ※ 引述《jjjkkkooo (接科噎欧)》之铭言:
: : 各位版友大家好
: : 在下在开发类似社群的网站平台,惟独资料库苦手
: : 急救章读了些书,简单查询不是大问题,但一遇到
: : 稍微复杂的查询就当机好久,以下的问题就麻烦版
: : 友们解答了,我的资料库是MySQL
: : 我有一个名叫friend的Table如下:
: : ------------
: : user_id | friend_user_id
: : ------------
: : 1 | 2
: : 1 | 3
: : 1 | 4
: : 1 | 5
: : 2 | 1
: : 3 | 5
: : 由於加入好友机制是双向的,如果上以图为例
: : 1加入2为好友,2也接受1的交友,这样二者才
: : 是真正的好友关系,如果我现在要查询1的好友
: : SQL语法该如何下?
: : 我用了几个很笨的方法,其中一个是
: : SELECT * FROM friend where user_id = 1 OR friend_user_id = 1
: : ↑把上面这段当子查询,再查询....真的很笨
: : 不知道有无好的解法?感谢回答 <(_ _)>
: 用自己 join 的方式作 ?!
: T-SQL(请自行翻译) :
: select MTable.*
: from friend as MTable join friend as STable
: on MTable.friend_user_id = STable.user_id
: and MTable.user_id = STable.friend_user_id
: and MTable.user_id = 1
自问自答一下,我後来想到一个方法:
select * from friend where friend_user_id in
( select user_id from friend where friend_user_id = 1)
and user_id = 1
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.118.210.121