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

关联user、product、file三张表查询满足指定状态条件的产品

满足条件的产品查询方案

关联关系说明

  • user表与product表为一对多关系(一个用户对应多个产品)
  • product表与file表为一对多关系(一个产品对应多个文件)

查询需求

需要筛选出同时满足以下两个条件的产品:

  • user表中status字段值为1
  • file表中status字段值为1

SQL查询语句

方法一:多表JOIN关联查询

SELECT DISTINCT p.*
FROM user u
JOIN product p ON u.id = p.user_id
JOIN file f ON p.id = f.product_id
WHERE u.status = 1 AND f.status = 1;

方法二:子查询+EXISTS判断

SELECT *
FROM product p
WHERE p.user_id IN (SELECT id FROM user WHERE status = 1)
AND EXISTS (
    SELECT 1 FROM file f 
    WHERE f.product_id = p.id AND f.status = 1
);

语句说明

  • DISTINCT用于避免因单个产品对应多个符合条件的文件而返回重复的产品记录
  • JOIN方式通过外键直接关联三张表,在WHERE子句中一次性过滤用户和文件的状态条件
  • 子查询方式先筛选出状态合法的用户ID,再检查每个产品是否存在状态合法的关联文件,逻辑更清晰

内容的提问来源于stack exchange,提问作者morteza heydari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:57:25