我有 3 个具有以下架构的表
Table1 - plan
id | count
Table2 - subscription
id | plan_id
Table3 - users
id | subscription_id
我必须从 plan.id 与 subscription.plan_id 匹配且 users.subscription_id 与 subscription.id 匹配且 users.id = '5' 匹配的计划中选择计数
如何在这里使用 JOIN?
我试过不使用 JOIN,如下所示:
SELECT count
FROM users, subscription, plan
WHERE users.id = '5' and users.subscription_id = subscription.id and subscription.plan_id = plan.id;
最佳答案
尽量避免隐式
sql 连接,而是使用显式
连接(例如内连接、左连接..
)以保持可读性。
更简洁的方法如下:
SELECT
count
FROM
users
INNER JOIN subscription ON users.subscription_id = subscription.id
INNER JOIN plan ON subscription.plan_id = plan.id
WHERE users.id = '5'
关于postgresql - Postgres SQL - 连接来自 3 个表的数据以选择一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39673811/