【问题标题】:ASPEN SQL Script to compare two tags glossaries比较两个标签词汇表的 ASPEN SQL 脚本
【发布时间】:2022-12-17 10:47:51
【问题描述】:

我想要做的是调出一个表(IP_AIDef 和 IP_DIDef)中所有标签的列表,其中包含“名称”中的“FDL”(快速记录的数据)及其相应的词汇表(ip_description)。我需要做的也是调出相同的非 fdl 标签的 ip_description 并进行比较。例如,如果有“FDL_A_AI_0001”,那么我想将词汇表 (ip_description)“FDL_A_AI_0001”与“A_AI_0001”进行比较,并手动更正任何不正确的词汇表。

我目前使用:

SELECT Name AS FDL_Tagname, IP_Description AS Glossary
FROM IP_AIDef
WHERE Name LIKE '%FDL%'
UNION
SELECT Name AS FDL_Tagname, IP_Description AS Glossary
FROM IP_DIDef
WHERE Name LIKE '%FDL%' ORDER BY FDL_TagName

它返回表中的数百个 FDL 标记(我已经屏蔽了 IP_DESCRIPTIONS)。我想在右侧添加另一列,以显示标签的非 FDL 版本的名称和 IP_DESCRIPTION,例如“A_AOT_0224”和“A_AC_1300”等。我猜我需要使用嵌套查询,可能还需要使用嵌套查询LEFT() 或 RIGHT() 从初始查询结果中删除“FDL_”,然后进行 JOIN。

**Current Output:**

FDL_Tagname               Glossary
------------------------ -----------------------------------
FDL_A_AOT_0224           xxxxxxxxx
FDL_A_AC_1300            xxxxxxxxx
FDL_A_AC_2000            xxxxxxxxx
FDL_A_AO_0403            xxxxxxxxx
FDL_B_AC_0126            xxxxxxxxx


**My desired outcome would look like:**

FDL_Tagname             Glossary       NON_FDL_Tagname    Glossary   
------------------------ --------------------------------------------
FDL_A_AOT_0224           xxxxxxxxx        A_AOT_0224     xxxxxxxxxx
FDL_A_AC_1300            xxxxxxxxx        A_AC_1300      xxxxxxxxxx
FDL_A_AC_2000            xxxxxxxxx        A_AC_2000      xxxxxxxxxx
FDL_A_AO_0403            xxxxxxxxx        A_AO_0403      xxxxxxxxxx
FDL_B_AC_0126            xxxxxxxxx        B_AC_0126      xxxxxxxxxx

【问题讨论】:

  • 所以实际上您只想从name 列中删除“FDL_”文本作为新列?请标记您的 RDBMS 并向我们展示您想要的实际结果。
  • @Stu 是的,我还想为我的查询返回的任何标签返回 NAME 和 IP_DESCRIPTION,减去“FDL_”。我需要验证常规和 FDL 标签匹配的 IP_DESCRIPTION。我在上面更新了我想要的结果!而且我找不到我的 RDBMS 标记,它的 Aspen SQL Plus 如果有帮助的话!谢谢!

标签: sql sqlplus aspen


【解决方案1】:

这是一个使用间接和 REPLACE 函数的示例。 请注意,此查询不检查记录“NON_FDL_Tagname”是否实际存在。

SELECT
    NAME AS FDL_Tagname
    , NAME->IP_Description AS Glossary
    , REPLACE('FDL_' WITH '' IN FDL_Tagname) AS NON_FDL_Tagname
FROM all_records
WHERE
    definition in ('IP_AIDef', 'IP_DIDef')
    AND NAME LIKE '%FDL%'
ORDER BY FDL_Tagname;

【讨论】:

    猜你喜欢
    • 2018-02-25
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多