gpt4 book ai didi

mysql - 当用户在 B 中匹配时如何从 A 中选择用户

转载 作者:可可西里 更新时间:2023-11-01 07:47:29 27 4
gpt4 key购买 nike

我有 2 个这样的表:

TableA

+----+------- --+
| id | name |
+----+----------+
| 1 | Max |
| 2 | Susan |
| 3 | Tom |
+----+----------+

TableB

+----+----------+----------+
| id | fromUser | toUser |
+----+----------+----------+
| 1 | 1 | 3 |
| 2 | 1 | 2 |
| 3 | 3 | 1 |
+----+----------+----------+

现在,我想要 Tom 作为结果,因为 MaxTomTom最大

我知道 Max 的 ID。

我试过:

 select a.*, b.fromUser from TableA a 
INNER JOIN TableB b
ON b.fromUser = a.id OR b.toUser = a.id
WHERE b.fromUser = 1 AND a.id =! 1

以及此查询的许多变体。但我要么得到了错误的结果,要么太多了!

最佳答案

结果您需要 TableA 中的 1 行,对吗?
您可以使用 EXISTS 两次:

select a.*
from TableA a
where
exists (
select 1 from TableB
where fromUser = a.id and toUser = 1
)
and
exists (
select 1 from TableB
where fromUser = 1 and toUser = a.id
)

关于mysql - 当用户在 B 中匹配时如何从 A 中选择用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55090848/

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