- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个简单的 MySQL 表:用户和关系。
关系表:
user_id int(10) unsigned NO PRI
friend_id int(10) unsigned NO PRI
(部分)用户表:
id int(10) unsigned NO PRI
username varchar(128) NO
我使用此查询选择 friend 的 friend :
SELECT f2.friend_id, u.username
FROM relations f1
JOIN relations f2 ON f1.friend_id=f2.user_id
LEFT JOIN user u ON u.id = f2.friend_id
WHERE f2.friend_id NOT IN (select friend_id from relations where user_id=@user_id) AND f1.user_id= 2 AND f2.friend_id!= 2
以上查询对于单向关系来说是可以的(我认为),我的“ friend ”不必接受友谊。我知道它在某些情况下可行,但我认为对我来说它应该是双向的。我知道,“IN”语句的效率不是很高。获得 friend 的最好(最快?对mysql服务器最友好?)的方法是什么,但仅限于那些已接受友谊的人(关系表中的两条记录:
user_id:1 + friend_id:2 and user_id:2 + friend_id:1)?
最佳答案
您确定需要 LEFT JOIN 到用户表吗?这不是需要记录存在的外键吗?对于双向关系,您不只是在关系表中查找用户和 friend 字段“交换”的记录吗?
SELECT f2.friend_id, u.username
FROM relations f1
JOIN relations f2
ON f1.friend_id = f2.user_id
AND f1.user = f2.friend_id
LEFT JOIN user u
ON u.id = f1.friend_id
WHERE f1.user_id @user_id;
关于php - 社会-双向友谊关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20192697/
我正在尝试在 laravel 5 中建立一个友谊系统,但我被卡住了。我有一个 friends_user 表,如下所示: 编号 用户编号 friend_id 状态 重点是,我转到一个用户页面,我想看看我
很多人说我应该创建一个友谊表(userid , friendid)。 我的问题是: 每一段友谊不会有双重记录吗?喜欢: 12 是 5 的 friend + 5 是 12 的 friend 有什么办法可
我是第一次尝试使用 ORM,我定义了这样的模型: 用户模型: class User extends Eloquent { public function friends() {
您将如何塑造 friend -Grails中的友谊关系?到目前为止,我的User类有很多关注者 class User { //Searchable plugin static searchable =
我尝试在 Instagram 中建立友谊/创建/运作,但我遇到了一些错误。 账户/登录功能正常。 friendships/create 错误:“请更新您的 Instagram 应用以继续关注。” re
在本页https://dev.twitter.com/rest/reference/post/friendships/destroy你可以读到 POST 友谊/破坏是速率限制的。 但是这个其他页面ht
我是一名优秀的程序员,十分优秀!