You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL多关联表查询:获取指定用户所属的所有项目

获取用户所属组织的所有项目的原生SQL

简洁版SQL语句

SELECT p.*
FROM project p
JOIN organization_membership om 
  ON p.owner = om.organization_id
WHERE om.user_id = :id;

高效版(使用EXISTS子查询)

若用户所属组织较多但对应项目较少,这种写法性能更优:

SELECT p.*
FROM project p
WHERE EXISTS (
    SELECT 1
    FROM organization_membership om
    WHERE om.organization_id = p.owner
      AND om.user_id = :id
);

关于你之前尝试的问题说明

  • 第一段SQL仅关联了organization和organization_membership表,完全未涉及project表,因此只会返回用户所属的组织信息,无法获取项目数据;
  • 第二段SQL逻辑本身无错误,但冗余了organization表的关联(project.owner直接关联organization.id,organization_membership.organization_id也关联organization.id,外键约束已能保证关联性,无需额外关联该表)。若查询结果为空,大概率是该用户所属组织下未创建任何项目,或是绑定的:id参数值不正确。

内容的提问来源于stack exchange,提问作者Gegi Janiashvili

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:20:32