gpt4 book ai didi

mysql - 如何将两个 FK 从一个表连接到另一个表?

转载 作者:太空宇宙 更新时间:2023-11-03 11:11:41 24 4
gpt4 key购买 nike

我有一个多对多关系表:

关系:

relationship_id,
first_user REFERENCES users(user_id),
second_user REFERENCES users(user_id),

用户:

user_id,
other user information

要读取给定用户的 friend (可以在 first_usersecond_user 中),我需要连接两个表(relationshipsusers), 但表 relationships 的两列是 FK

问题 1:如何 JOIN 两个表以使用两个 FK?

我有一个与表relationships 类似的未决请求表。批准请求后,它将从 requests 中删除并插入到 relationships 中。

问题 2:如何 JOIN 三个表以在一个查询中检索连接和挂起的请求。

最佳答案

你必须给“users”表的实例起别名,这样你就可以分别引用它们:

SELECT u1.*, u2.* FROM relationship r
JOIN users u1 ON (u1.user_id = r.first_user)
JOIN users u2 ON (u2.user_id = r.second_user)

要从请求和关系中进行选择,您可以使用 UNION :

SELECT u1.*, u2.* FROM relationship r
JOIN users u1 ON (u1.user_id = r.first_user)
JOIN users u2 ON (u2.user_id = r.second_user)
UNION
SELECT u1.*, u2.* FROM requests r
JOIN users u1 ON (u1.user_id = r.first_user)
JOIN users u2 ON (u2.user_id = r.second_user)

关于mysql - 如何将两个 FK 从一个表连接到另一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8104956/

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