首页 > 解决方案 > 具有两个内部连接的 PostgreSQL 查询

问题描述

SQL 查询不是很好,需要一点帮助才能获得具有两个内部连接的工作查询。

这是我的桌子:

发布用户组织

帖子/用户共享一个“user_id”键,它允许我拉出帖子表并让它还包括用户表中用户的用户名。不过,我需要提取更多数据。我还需要从 users 表中包含“org_id”,然后从 orgs 表中提取相应的行。

目前我的 SQL 查询是

SELECT p.*, u.username FROM posts p
INNER JOIN users u
ON p.user_id = u.user_id
ORDER BY p.post_id DESC;

这正确地让我获得了存储在帖子表中的完整帖子列表,并包括用户名。

我需要它来包含来自 orgs 表的数据。

因此,如果帖子 #1 是由用户 #2 创建的,我会将这些信息放在一起。我怎样才能让它进行另一个内部联接,该内部联接需要用户 #2 并从用户的相应组织获取完整的数据集?

标签: sqlpostgresqlinner-join

解决方案


如果我理解正确,查询将如下所示:

SELECT p.*, u.username,o.* FROM posts p
INNER JOIN users u
ON p.user_id = u.user_id
INNER JOIN orgs o
ON u.org_id=o.org_id
ORDER BY p.post_id DESC;

您可以在此处了解有关联接 的更多信息。


推荐阅读