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

如何在SQL查询中按script_type筛选指定case_id的目标行?

解决多Case_ID的SQL精准筛选需求

嘿,针对你这个SQL筛选的需求,我给你整理了一个精准匹配的查询语句,完全符合你描述的规则!

最终查询语句

SELECT DISTINCT 
    e.case_id,
    e.case_name,
    s.script_name,
    s.script_type,
    e.Result
FROM executions_table e 
LEFT OUTER JOIN scripts_table s 
    ON s.Case_ID = e.case_id 
WHERE 
    -- 锁定所有11开头的目标Case_ID
    e.case_id LIKE '11%'
    -- 仅保留Result为passed的记录
    AND e.Result = 'passed'
    -- *核心规则:分Case_ID设置script_type筛选条件*
    AND (
        -- 对111、113,只选automation类型的脚本
        (e.case_id IN ('111', '113') AND s.script_type = 'automation')
        -- 对112,只选manual类型的脚本
        OR (e.case_id = '112' AND s.script_type = 'manual')
    );

逻辑拆解

  • 首先用e.case_id LIKE '11%'锁定你关注的所有Case_ID范围;
  • 加上e.Result = 'passed'过滤掉非通过的记录,确保只选符合结果要求的行;
  • 用括号包裹的OR分组条件精准匹配不同Case_ID的script_type要求:
    • 对于有两条记录的111和113,只保留script_type = 'automation'的行;
    • 对于仅存在manual类型的112,直接匹配script_type = 'manual'的行;
  • 保留你原始查询中的DISTINCT关键字,避免出现重复记录。

如果后续需要扩展更多Case_ID的筛选规则,只需要在OR条件块里新增对应的分组即可,非常灵活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:04:55