gpt4 book ai didi

mysql - 如何使用 MySQL 根据好友请求的状态获取好友列表?

转载 作者:行者123 更新时间:2023-11-29 12:36:35 30 4
gpt4 key购买 nike

我有两个表:members 和member_requests。当一个成员向另一个成员发送好友请求时,会在member_requests 表中插入一行。如果收件人接受请求,则状态会更新为 1。如果收件人拒绝请求,则会将其删除。我尝试了许多不同的查询来为某个用户生成 friend 列表,但似乎都无法正常工作。请求的author_id必须是当前成员的id,或者收件人id必须是当前成员的id。有人可以提供可以执行此操作的查询吗?

http://sqlfiddle.com/#!2/021d7/13

                   SELECT
r.request_id, r.author_id, r.recipient_id, r.status,
m.member_id, m.display_name
FROM member_requests AS r
LEFT JOIN members AS m ON (r.author_id = m.member_id OR r.recipient_id = m.member_id)
WHERE r.status = 1
ORDER BY m.display_name

最佳答案

这听起来一点也不糟糕。您可以做的是获取用户发送请求并被接受的所有时间的列表,以及用户收到请求并被接受的所有时间的列表,并将这两个结果合并在一起。

试试这个:

(SELECT recipient_id
FROM member_requests
WHERE author_id = 1 AND status = 1)
UNION
(SELECT author_id
FROM member_requests
WHERE recipient_id = 1 AND status = 1);

这是您的SQL Fiddle返回。

关于mysql - 如何使用 MySQL 根据好友请求的状态获取好友列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26694724/

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