对于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;
这可以正确获取我存储在posts表中的完整列表,并包括用户名。
我需要它包含来自orgs表的数据。
因此,如果帖子#1是由用户#2创建的,那么我将获得该信息。我该如何进行另一个内部联接,该联接需要用户#2并从用户的相应组织中获取全部数据?
答案 0 :(得分:0)
如果我正确理解,查询如下:
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;
您可以了解有关联接的更多信息 here。
答案 1 :(得分:0)
您可以用相同的方法连接任意数量的表。请立即尝试:
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;
可以找到更多示例here。
答案 2 :(得分:0)
您快到了。只需在另一个连接条件中添加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;