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

SQL技术求助:如何基于t_pfx表前缀筛选特定状态零件ID?

解决方案

没问题,我来帮你调整查询语句,实现只筛选E20至E99开头且状态为OBS/INACT的零件ID。这里提供两种实用的方法,你可以根据实际情况选择:

方法一:直接通过字符串匹配筛选前缀

如果你的零件ID前缀固定是3位(比如E20xxxxxx的前三位是E20),可以直接用LEFT()函数提取前缀,再结合范围判断来过滤:

SELECT part_id
FROM 你的主表名称 -- 记得替换成实际的主表名
WHERE status IN ('OBS', 'INACT')
  AND LEFT(part_id, 3) BETWEEN 'E20' AND 'E99'
ORDER BY last_mod_date ASC;

说明

  • LEFT(part_id, 3)会提取零件ID的前3个字符,比如E2012345会得到E20
  • 字符串的BETWEEN比较是按字典序进行的,E20到E99刚好覆盖你需要的所有前缀范围,完美匹配需求

方法二:关联t_pfx表实现动态筛选

如果t_pfx表中存储了所有合法的组件前缀(比如prefix字段存着'E20','E21',...,'E99'),推荐用这种方法——后续前缀规则变更时,只需要更新t_pfx表,不用修改SQL:

SELECT part_id
FROM 你的主表名称 -- 替换为实际主表名
WHERE status IN ('OBS', 'INACT')
  AND LEFT(part_id, 3) IN (SELECT prefix FROM t_pfx)
ORDER BY last_mod_date ASC;

说明

  • 子查询SELECT prefix FROM t_pfx会获取所有t_pfx表中定义的组件前缀
  • LEFT(part_id,3)提取的前缀只要在这个列表里,就会被筛选出来,完全贴合t_pfx表的规则

记得把语句中的你的主表名称替换成你实际使用的主表的名字哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:30:19