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

时间:2018-07-31 09:37:13

标签: 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 contribute $20 for vivek birthday

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

1 个答案:

答案 0 :(得分:1)

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

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;