gpt4 book ai didi

mysql - SQL 逻辑 - 来自其他方向的好友请求

转载 作者:行者123 更新时间:2023-11-28 23:42:46 25 4
gpt4 key购买 nike

这是我的示例表:

$user_id = $_SESSION['user_id'];

id myid friendid
-------------------------
1 3 1
2 3 2
3 2 3
4 6 1
5 4 2

现在我正试图弄清楚如何准确地对这些数据进行排序。我希望能够根据以上信息获得好友请求。

对上表做一点进一步的解释:如果myid是3,friendid是2,那就意味着3和2是 friend ,反之则不一定。

  1. 我只想让数据显示来自其他用户的请求
  2. 不是当我们已经是 friend 的时候。即 id、2 和 3

使用上面的示例表:假设我当前的 session 是 2,这意味着我有两个来自表的请求,一个来自 3,另一个来自 4。因为我是 3 的 friend ,所以不会显示。所以请求应该只显示 4。

我试图为此创建一个逻辑,但我有点迷茫。

    WHERE 
friendid = $user_id
AND

不确定那里的其他部分会把逻辑放在适当的位置。

最佳答案

鉴于此示例数据:

CREATE TABLE t
(`id` int, `myid` int, `friendid` int)
;

INSERT INTO t
(`id`, `myid`, `friendid`)
VALUES
(1, 3, 1),
(2, 3, 2),
(3, 2, 3),
(4, 6, 1),
(5, 4, 2)
;

这个查询

SELECT
*
FROM
t t_out
WHERE
friendid = 2
AND NOT EXISTS (SELECT 1 FROM t t_in WHERE t_in.friendid = t_out.myid AND t_in.myid = t_out.friendid)

会得到这样的结果:

+------+------+----------+
| id | myid | friendid |
+------+------+----------+
| 5 | 4 | 2 |
+------+------+----------+

关于mysql - SQL 逻辑 - 来自其他方向的好友请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34068010/

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