gpt4 book ai didi

mysql - 如何获取关注者列表,同时检查我是否关注关注者?

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

我一直在尝试获取关注者用户信息,同时我想知道我是否关注我的关注者?

我在哪里

此查询将获取所有关注者信息,但不获取我是否关注他们的天气

SELECT
follow.my_user_uid,
users.username,
users.full_name,
users.rep,
users.pro_pic
from
follow,
users
WHERE follow.followed_user_uid = '7fdb1960-517c-11e8-b6fd-3da507d1ce5c' && users.UID = follow.my_user_uid;

我的关注架构和所有 UID

id |              my_user_uid             |         followed_user_id
85 7fdb1960-517c-11e8-b6fd-3da507d1ce5c 401895a0-3f1b-11e8-9c9c-81192d2dd899
87 7fdb1960-517c-11e8-b6fd-3da507d1ce5c 35790d90-402a-11e8-94d5-d7c3b5277172
89 35790d90-402a-11e8-94d5-d7c3b5277172 7fdb1960-517c-11e8-b6fd-3da507d1ce5c
96 7fdb1960-517c-11e8-b6fd-3da507d1ce5c def2e970-40e5-11e8-bd4e-cb404ee7672f
97 def2e970-40e5-11e8-bd4e-cb404ee7672f 7fdb1960-517c-11e8-b6fd-3da507d1ce5c
98 b4eb3820-1fc6-11e8-aead-23ee40fdc27f def2e970-40e5-11e8-bd4e-cb404ee7672f
100 b4eb3820-1fc6-11e8-aead-23ee40fdc27f 401895a0-3f1b-11e8-9c9c-81192d2dd899
101 35790d90-402a-11e8-94d5-d7c3b5277172 b4eb3820-1fc6-11e8-aead-23ee40fdc27f
102 401895a0-3f1b-11e8-9c9c-81192d2dd899 7fdb1960-517c-11e8-b6fd-3da507d1ce5c

更新

我当前的输出

id |    my_user_uid                     |      followed_user_id    | username

89 35790d90-402a-11e8-94d5-d7c3b5277172 7fdb1960-517c-11e8-b6fd-3da507d1ce5c Byz5WlxhM
97 def2e970-40e5-11e8-bd4e-cb404ee7672f 7fdb1960-517c-11e8-b6fd-3da507d1ce5c iambad
102 401895a0-3f1b-11e8-9c9c-81192d2dd899 7fdb1960-517c-11e8-b6fd-3da507d1ce5c B1jgo7Ajf

我想要的是标题为 isAmIfollowingTheFollower 的附加列,其中包含 1 或 0 个受尊重的值

 id |    my_user_uid                     |      followed_user_id    | username |  isAmIfollowingTheFollower

最佳答案

您可以使用 EXISTS 运算符添加附加检查:

SELECT
f1.id,
f1.my_user_uid,
f1.followed_user_uid,
users.username,
users.full_name,
users.rep,
users.pro_pic
FROM
follow AS f1
INNER JOIN
users
ON
users.UID = f1.my_user_uid
WHERE
f1.followed_user_uid = '7fdb1960-517c-11e8-b6fd-3da507d1ce5c'
AND
EXISTS
(
SELECT 1
FROM follow f2
WHERE f2.followed_user_uid = f1.my_user_uid
AND
f2.my_user_uid = '7fdb1960-517c-11e8-b6fd-3da507d1ce5c'
)

输出:

id | my_user_uid                          |  followed_user_uid
----------------------------------------------------------------------------
89 | 35790d90-402a-11e8-94d5-d7c3b5277172 | 7fdb1960-517c-11e8-b6fd-3da507d1ce5c
97 | def2e970-40e5-11e8-bd4e-cb404ee7672f | 7fdb1960-517c-11e8-b6fd-3da507d1ce5c
102| 401895a0-3f1b-11e8-9c9c-81192d2dd899 | 7fdb1960-517c-11e8-b6fd-3da507d1ce5c

Demo here

编辑:

要输出一个标志字段来指示我是否也在关注我的关注者,您可以使用以下查询:

SELECT
f1.id,
f1.my_user_uid,
f1.followed_user_uid,
users.username,
IF(f2.id IS NOT NULL, 1, 0) AS isAmIfollowingTheFollower
FROM
follow AS f1
INNER JOIN
users
ON
users.UID = f1.my_user_uid
LEFT JOIN
follow AS f2
ON
f2.followed_user_uid = f1.my_user_uid AND f2.my_user_uid = '7fdb1960-517c-11e8-b6fd-3da507d1ce5c'
WHERE
f1.followed_user_uid = '7fdb1960-517c-11e8-b6fd-3da507d1ce5c'

Demo here

关于mysql - 如何获取关注者列表,同时检查我是否关注关注者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50737046/

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