gpt4 book ai didi

mysql - 高效查询 - 当查询A表中的一组特定ID时,如何检查B表中的条件是否符合A表中选定的ID?

转载 作者:行者123 更新时间:2023-11-30 01:08:42 26 4
gpt4 key购买 nike

我有一个用户表:|用户名|

我有一个关系表:|追随者|正在关注 |

目前,我有一个查询:SELECT username FROM user WHERE username IN ('A', 'B', ...)

现在,当我执行上述查询时,我想检查当前用户是否正在关注每个用户,并以某种方式在结果的另一列中指示它。像这样:SELECT username, is_followed FROM user WHERE username IN ('A', 'B', ...) AND“当用户名后面跟着'CURRENT_USERNAME'时,is_followed 为 true”

是否有任何有效的方法可以在没有 foreach 循环或子查询的情况下执行此操作?

任何答案都将受到高度赞赏。

谢谢。

最佳答案

您的描述并不完全清楚您想要什么。此查询给出所有选定的用户和一个标志来说明他们是否被关注。如果您只想要当前用户关注的用户,请将左外连接更改为内连接

Select
u.username,
case when r.following is null then 0 else 1 end is_followed
From
user u
left outer join
relationship r
on u.username = r.following and r.follower = 'CURRENT_USERNAME'
Where
u.username in ('A', 'B', ...)

这假设关系表中没有重复项。

关于mysql - 高效查询 - 当查询A表中的一组特定ID时,如何检查B表中的条件是否符合A表中选定的ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19600337/

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