gpt4 book ai didi

mysql - 从多个 MySQL 表中获取两个用户的共享联系人

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

我的 MySQL 数据库中有两个表。

第一个存储用户列表,另一个存储每个用户的联系人列表。

用户表:

+----+----------+--------------+
| id | name | phoneNumber |
+----+----------+--------------+
| 1 | David | 661-618-5436 |
| 2 | Sarah | 818-526-4830 |
| 3 | Suzan | 323-623-3493 |
+----+----------+--------------+

联系人表:

+----+-----------------+--------+--------------+
| id | belongsToUserId | name | phoneNumber |
+----+-----------------+--------+--------------+
| 1 | 1 | Gerard | +18185329384 |
| 2 | 1 | Austin | +18739283847 |
| 3 | 2 | Jamie | +15655468907 |
| 4 | 2 | Jade | +19893828192 |
| 5 | 3 | Phil | +18786754234 |
| 6 | 3 | Duke | +18765467832 |
| 7 | 3 | Gerard | +18185329384 |
| 8 | 3 | Jade | +19893828192 |
+----+-----------------+--------+--------------+

我想做的是创建一个查询,该查询有效地获取 2 个用户 ID,并通过 phoneNumber 返回这两个用户的常用联系人。

例如:用户 ID 13 都有 Gerard | +18185329384 在他们的联系人中,这样查询将只返回他。

对于此类任务,最有效的查询是什么?

谢谢:)

最佳答案

如果我没有正确理解你的问题,我想这可能就是你要找的:

SELECT 
c1.id,
c1.belongsToUserId,
c1.phoneNumber,
c1.name
FROM
Contacts c1
JOIN
Contacts c2 ON (c1.phoneNumber=c2.phoneNumber AND c2.userId=3)
WHERE
c1.belongsToUserId =1

关于mysql - 从多个 MySQL 表中获取两个用户的共享联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47413407/

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