具有两个内部联接的PostgreSQL查询

具有两个内部联接的PostgreSQL查询,sql,postgresql,inner-join,Sql,Postgresql,Inner Join,SQL查询不太好,需要一些帮助才能获得具有两个内部联接的工作查询 这是我的桌子: 职位 使用者 奥格斯 posts/用户共享一个“user_id”键,该键允许我从用户表中提取posts表,并使其包含用户的用户名。不过我需要更多的数据。。我还需要从users表中包含“org_id”,然后从orgs表中拉入相应的行 目前我的SQL查询是 SELECT p.*, u.username FROM posts p INNER JOIN users u ON p.user_id = u.user_id OR

SQL查询不太好,需要一些帮助才能获得具有两个内部联接的工作查询

这是我的桌子:

职位 使用者 奥格斯

posts/用户共享一个“user_id”键,该键允许我从用户表中提取posts表,并使其包含用户的用户名。不过我需要更多的数据。。我还需要从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;
这正确地得到了posts表中存储的posts的完整列表,包括用户名

我需要它包含orgs表中的数据


所以,如果Post#1是由用户#2创建的,那么我将收集这些信息。我如何让它进行另一个内部联接,以获取用户2并从用户对应的组织获取完整的数据集?

如果我获得的数据正确,查询将如下所示:

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;

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

您可以按照相同的方式联接任意数量的表。请立即尝试:

SELECT p.*,o.*, u.username 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;

可以找到更多的例子。

你就快到了。只需在另一个联接条件中添加
orgs
表:

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

谢谢你!太好了,谢谢!这就是我需要的!