gpt4 book ai didi

mysql - 根据不同的条件从同一个表中选择 2 行

转载 作者:行者123 更新时间:2023-11-29 23:27:41 25 4
gpt4 key购买 nike

我已经尝试了许多内部联接、外部联接的示例,甚至尝试通过猜测来构造自己的示例(这通常有效),但这里没有运气。

表 1:follower_user_id,follower_user_id

(注意它是followeR_和followeD_)

表 2:user_id,用户名

所以我需要表 2 中的两行,其中一个 user_id 与 follower_user_id 匹配,另一行 user_id 与 follower_user_id 匹配

查询中的查询有效,但我知道这不是正确的方法...

SELECT f.*, u.*
FROM tbl_follows f, tbl_users u
WHERE follower_user_id = u.user_id

这是基本查询

while($row = $r->fetch_assoc()){
//here i make another query to get the username of the followed_user_id
}

这当然可以在单个查询中完成吗?

提前致谢

--- 更新 1:示例数据 ---

tbl_users

user_id    |    username
--------------------------------------
1 | abc123
2 | xyz789
3 | nosey123

tbl_follows

follower_user_id    |    followed_user_id
-------------------------------------------
3 | 2 //nosey123 is following xyz789
3 | 1 //nosey123 is following abc123
1 | 2 //abc123 is following xyz789

While Results : echo "$row[username] is following $row['???????']<br />"

我正在寻找:

nosey123 is following xyz789
nosey123 is following abc123
abc123 is following xyz789

最佳答案

你尝试过这样的事情吗?

SELECT f.*, u.*
FROM tbl_follow f
JOIN tbl_users u ON u.user_id = f.follower_user_id OR u.user_id = f.followed_user_id;

这应该为每个用户 ID 返回两行,因为关注者用户有一个匹配项,关注者用户有一个匹配项。

关于mysql - 根据不同的条件从同一个表中选择 2 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26831611/

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