- 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/
// // Social.h // Social // // Copyright (c) 2012 Apple Inc. All rights reserved. // #import #im
我有两个简单的 MySQL 表:用户和关系。 关系表: user_id int(10) unsigned NO PRI friend_id int(10) unsigned
当我访问 127.0.0:8000/associate/twitter 时,我的 django 会获取除电子邮件地址之外的所有 twitter 信息。 访问127.0.0:8000/associate
当我尝试 http://127.0.0.1/login/twitter 时,我看到它会转到 Twitter 进行身份验证,但我看到以下错误 不正确的身份验证服务 我检查了很多次,TWITTER_CON
我是一名优秀的程序员,十分优秀!