mysql - 查询以从 3 个不同的表中获取不同键的数据

标签 mysql sql oracle sqlite

我有三个不同的表,想从中获取数据。 如果有人对此有一些解决方案,请帮助我。

用户表

userName | email(p.k) | accountType(p.k)

 Vivek    | v@asd.asd | google

Rahul    | r@asd.asd | facebook

事件表

eventId(p.k) | email(f.k) | accountType(f.k) | eventName

1    | v@asd.asd | google | birthday

贡献者

eventId(f.k) | email(f.k) | accountType(f.k) | contribute

1    | r@asd.asd | facebook | $20

我想要这样的数据

Rahul 为 vivek 的生日捐款 20 美元

如何在单个查询中获取 rahul 和 vivek 任何人都可以帮助我

最佳答案

这个查询应该非常简单,我们只需要两次连接到用户表。

SELECT * 
FROM user
JOIN contribute ON user.email = contribute.email
JOIN event ON event.id = contribute._eventId
JOIN user u2 ON event.email = u2.email;

关于mysql - 查询以从 3 个不同的表中获取不同键的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51610209/

相关文章:

php - Mysqli_query 结果到变量 PHP

MySQL 如何将 WHERE 子句应用于除一列之外的所有选定列?

sql - 参数化 WHERE 子句?

sql - SQL JOIN 中的 AND/OR 语句

java - 如何在oracle java中获取驱动器容量

php - mysql vs mysqli 结果不一样?

java - 如何让 mysql 在每次修改行操作时自动将列更新为当前时间戳?

MYSQL UPDATE 行匹配基于变量的条件

oracle - 使用 HDBC 在 Haskell 中连接到 Oracle 数据库

java - 从 Java 调用的 Oracle 存储过程中的日期格式