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

MySQL:如何调整查询从两张关联表获取同行情报并过滤数据?

调整后的SQL查询语句

推荐写法(内关联,仅返回存在有效表单的版本记录)

SELECT 
    fv.display_name, 
    fv.version_num, 
    f.form_name
FROM form_version fv
INNER JOIN form f 
    ON fv.form_id = f.form_id
WHERE 
    fv.active = 1 
    AND f.removed = 0;

可选写法(左关联,保留无对应表单的版本记录)

如果需要保留form_version中未匹配到有效form的记录(此时form_name会显示为NULL),可以将表单过滤条件放在关联逻辑中:

SELECT 
    fv.display_name, 
    fv.version_num, 
    f.form_name
FROM form_version fv
LEFT JOIN form f 
    ON fv.form_id = f.form_id 
    AND f.removed = 0
WHERE fv.active = 1;

关键调整说明

  • 移除了原查询中冗余的子查询,直接通过fv.active = 1筛选激活的版本记录
  • 通过INNER JOIN(或LEFT JOIN)关联form表,利用form_id字段建立两表关联
  • 添加f.removed = 0条件过滤掉已标记删除的表单数据
  • 为表名设置别名(fv对应form_version,f对应form),简化语句结构并提升可读性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 11:32:05