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

SQL:在同一列中查找子字符串匹配,构建部件与子部件关联表

部件与子部件关联关系生成方案

需求说明

现有一列存储部件和子部件名称的字符串数据,需生成部件与子部件的关联关系表,规则为:当父部件名称是子部件名称的前缀子串时,二者建立关联(结合数据特征,子部件名称含下划线后缀,以此区分父部件)。

现有数据示例

名称
AAA
BBB
CCC
AAA_1
AAA_2
BBB_1
CCC_3

期望结果

部件子部件
AAAAAA_1
AAAAAA_2
BBBBBB_1
CCCCCC_3

实现思路(以Python为例)

  1. 先提取所有父部件:筛选名称中不含下划线的条目
  2. 匹配对应子部件:遍历每个父部件,在全量名称中筛选以该父部件开头、含下划线且不等于父部件本身的条目
  3. 整理成关联关系表

代码实现

# 模拟原始数据
names = ["AAA", "BBB", "CCC", "AAA_1", "AAA_2", "BBB_1", "CCC_3"]

# 提取父部件列表
parent_parts = [name for name in names if "_" not in name]

# 生成关联关系
relation_list = []
for parent in parent_parts:
    for name in names:
        if name != parent and name.startswith(parent) and "_" in name:
            relation_list.append({"部件": parent, "子部件": name})

# 输出结果表
print("| 部件 | 子部件 |")
print("|------|--------|")
for item in relation_list:
    print(f"| {item['部件']}  | {item['子部件']}  |")

补充说明

  • 用startswith替代单纯的子字符串判断,可避免"AA"误匹配"AAA"这类不符合业务逻辑的关联
  • 若数据存储在Excel或数据库中,只需调整数据读取和输出逻辑,核心筛选规则保持一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 01:25:23