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

ASPEN SQL实现FDL标签与对应非FDL标签术语表对比查询

关联FDL与对应非FDL标签的对比查询方案

核心SQL语句

-- 提取所有带FDL_前缀的标签,并生成匹配用的基础名称
WITH fdl_tags AS (
    SELECT 
        ip_name AS fdl_name,
        ip_description AS fdl_desc,
        SUBSTRING(ip_name, 5) AS base_name
    FROM IP_AIDef
    WHERE ip_name LIKE 'FDL_%'
    UNION ALL
    SELECT 
        ip_name AS fdl_name,
        ip_description AS fdl_desc,
        SUBSTRING(ip_name, 5) AS base_name
    FROM IP_DIDef
    WHERE ip_name LIKE 'FDL_%'
)
-- 关联对应的非FDL标签,生成双列对比结果
SELECT 
    ft.fdl_name AS FDL标签名称,
    ft.fdl_desc AS FDL术语描述,
    COALESCE(nf.non_fdl_name, '无对应非FDL标签') AS 非FDL标签名称,
    COALESCE(nf.non_fdl_desc, '无对应术语描述') AS 非FDL术语描述
FROM fdl_tags ft
LEFT JOIN (
    -- 收集所有非FDL标签,用于匹配
    SELECT 
        ip_name AS non_fdl_name,
        ip_description AS non_fdl_desc,
        ip_name AS base_name
    FROM IP_AIDef
    WHERE ip_name NOT LIKE 'FDL_%'
    UNION ALL
    SELECT 
        ip_name AS non_fdl_name,
        ip_description AS non_fdl_desc,
        ip_name AS base_name
    FROM IP_DIDef
    WHERE ip_name NOT LIKE 'FDL_%'
) nf ON ft.base_name = nf.base_name
ORDER BY ft.fdl_name;

逻辑说明

  1. CTE fdl_tags:统一整合IP_AIDef和IP_DIDef中所有以FDL_为前缀的标签,同时通过SUBSTRING(ip_name,5)去除前缀,得到用于匹配非FDL标签的基础名称。
  2. 子查询nf:收集两个表中所有非FDL标签,以原标签名称作为匹配键。
  3. LEFT JOIN关联:确保所有FDL标签都能被输出,即使没有对应的非FDL标签也会显示提示文本。
  4. COALESCE处理空值:避免查询结果出现NULL,用友好提示替代,便于直接查看对比。

适配调整

如果FDL标签的命名规则不是严格的FDL_前缀(比如名称中包含FDL但不是前缀),可以修改以下部分:

  • 将WHERE ip_name LIKE 'FDL_%'改为WHERE ip_name LIKE '%FDL%'
  • 将SUBSTRING(ip_name,5)改为REPLACE(ip_name, 'FDL_', '')(需根据实际命名规则调整替换逻辑)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 15:10:43