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

SQL多表查询问题:如何获取用户ID=1关联的所有文件?

正确SQL解决方案

原SQL的问题

  • 未关联核心关联表Files_Users,错误地直接关联Files和Users(两表无直接File_Id关联关系)
  • 字段名错误:使用了不存在的Ext_Emp_Id/Int_Emp_Id,实际对应Files_Users表的Ext_User_Id/Int_User_Id
  • 逻辑运算符优先级问题:AND优先级高于OR,导致条件被错误解析为(A.Id = B.File_Id AND Ext_Emp_Id=1) OR Int_Emp_Id=1,产生大量无效关联和重复数据

正确SQL语句

SELECT DISTINCT
    A.Id,
    A.`File Name` AS File_Name
FROM
    Files A
JOIN
    Files_Users FU ON A.Id = FU.File_Id
WHERE
    FU.Int_User_Id = 1 OR FU.Ext_User_Id = 1;

说明

  • 使用JOIN明确关联Files和Files_Users表,通过File_Id建立正确关联
  • 用DISTINCT去重:避免同一文件因同时匹配内部/外部用户ID(如File1的Int_User_Id和Ext_User_Id都是1)而返回重复记录
  • 条件直接筛选Files_Users表中Int_User_Id或Ext_User_Id等于1的记录,精准获取关联文件

内容的提问来源于stack exchange,提问作者Mohamed Gaber

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:42:54