gpt4 book ai didi

MySql 查询当前用户的好友和非好友用户

转载 作者:行者123 更新时间:2023-11-29 22:26:53 27 4
gpt4 key购买 nike

我有 2 个表,一个用户表和一个 friend 表。

users
__________
user_id p.k
username

friends
__________
from_user
to_user
status ENUM('1', '2') //1 for sent/pending, 2 for accepted
primary key('from_user', 'to_user') // both also reference user_id

我对 MySQL 比较陌生,一直在尝试使用通配符 %% 创建一个搜索查询,该查询将根据用户名进行搜索,并返回用户名、user_id 以及好友和非好友的状态行。按该顺序向当前用户添加好友,上限为 10 个。我将非常感谢有关此事的任何帮助和指导。以下是我到目前为止所拥有的。

SELECT Users.user_id, Users.username, Friends.status 
FROM Users
LEFT JOIN
Friends ON
Users.user_id IN Friends.to_user, Friends.from_user AND
'id of user' IN Friends.to_user, Friends.from_user
WHERE

最佳答案

试试这个,获取好友链接:

select uf.user_id, uf.username, f.status
from users u
join friends f on u.user_id = f.from_user
join users uf on f.to_user = uf.user_id
where u.username like '%teddy%' and f.status = 2
LIMIT 10;

这样可以获取所有可能的链接、好友、已发送/待处理以及非好友:

 select uf.user_id, uf.username, f.status
from users u
left join friends f on u.user_id = f.from_user
left join users uf on f.to_user = uf.user_id
where u.username like '%teddy%'
LIMIT 10;

关于MySql 查询当前用户的好友和非好友用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30201792/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com