gpt4 book ai didi

mysql - SQL 联合或其他表连接

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:32 26 4
gpt4 key购买 nike

我无法全神贯注于 SQL 查询,试图弄清楚一些事情。

快点,这是我的(简单)表格:它代表在社交网站中添加的 friend 。我必须使用这样的表格式,user1 和 user2 都是主键。

          User1       |       User2
--------------------------------------
foo@a.com | things@stuff.com
foo@a.com | lala@hi.com
things@stuff.com| lol@k.com
lol@k.com | foo@a.com
foo@a.com | lol@k.com

我需要做的是编写一个 SELECT 语句,该语句将返回所有与 foo@a.com 为 friend 的唯一用户。

SELECT User2
FROM members
WHERE User1 = 'things@stuff.com'

会返回 lol@k.com 而不是 foo@a.com,即使我需要它来返回后者。

SELECT *
FROM members
WHERE User1 = 'foo@a.com'
OR User2 = 'foo@a.com'

我认为会返回错误吗?可能需要选择多列。

所以我认为联合连接或其他一些连接是必要的(联合所以没有重复?)但我真的不确定该怎么做。

我正在尝试在 PHP 中实现它,所以即使我写的最后一个查询有效,我也不确定如何回显 User1 或 User2,具体取决于它返回的是哪个/我需要哪个(如果有意义的话)。

最佳答案

使用 UNION(为了性能):-

SELECT User2
FROM members
WHERE User1 = 'foo@a.com'
UNION
SELECT User1
FROM members
WHERE User2 = 'foo@a.com'

关于mysql - SQL 联合或其他表连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16538970/

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