gpt4 book ai didi

mysql - 当数据可以出现在一张表的多列中时,连接两个表的结果

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

我有一个包含用户列表的表,我需要的只是 users.id 和 users.username

我有第二个表,将用户链接为“ friend ”,我需要的只是friends.one和friends.two

我想输出一个结果,显示具有特定用户 ID 的用户的所有 friend (这将是一个变量,但为了示例,我们将使用用户 ID '1')。用户 ID“1”可以出现在 Friends.one 或 Friends.two 中。

我尝试了一些不同的想法,但我不确定我是否更接近。下面的代码显然很糟糕,但我认为它很好地描述了这个想法。虽然我可能把事情变得过于复杂,但有更简单的方法,

SELECT users.username, users.id 
FROM users
INNER JOIN friends
ON users.id = friends.friendone
WHERE friends.friendtwo='1'

UNION

SELECT users.username, users.id
FROM users
INNER JOIN friends
ON users.id = friends.friendtwo
WHERE friends.friendone='1'
ORDER BY users.username ASC;

最佳答案

有条件连接:

SELECT u.username, u.id 
FROM friends f INNER JOIN users u
ON u.id = CASE '1'
WHEN f.friendone THEN f.friendtwo
WHEN f.friendtwo THEN f.friendone
END

关于mysql - 当数据可以出现在一张表的多列中时,连接两个表的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58122167/

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