【问题标题】:How to concatenate two columns that have alias PLSQL如何连接具有别名 PLSQL 的两列
【发布时间】:2020-07-05 13:51:33
【问题描述】:

我刚从 PL/SQL 开始,我对连接的概念不是很清楚,所以现在我需要连接两个具有别名的列的结果并显示结果合二为一。

以下是我使用它们各自的别名进行的查询:

(SELECT SPRCMNT_TEXT
        FROM SPRCMNT
        WHERE SPRCMNT_PIDM = SHRDGMR_PIDM
        AND SPRCMNT_CMTT_CODE = '15'
        AND SPRCMNT_ORIG_CODE = 'FTDF') FOLIO_CONTROL,

(SELECT REGEXP_SUBSTR(SPRCMNT_TEXT_NAR, 'Profesionista="([^"]+)"', 1, 1, NULL, 1)
        FROM SPRCMNT
        WHERE SPRCMNT_PIDM = SHRDGMR_PIDM
        AND SPRCMNT_CMTT_CODE = '15'
        AND SPRCMNT_ORIG_CODE = 'FTDF') PROFESIONISTA,

我需要的是连接PROFESIONISTA+FOLIO_CONTROL 的别名并将其结果显示在一个新列中。

【问题讨论】:

    标签: sql oracle select plsql concat


    【解决方案1】:

    除了from 子句之外,两个查询都是相同的,所以我认为你想要:

    SELECT 
        SPRCMNT_TEXT 
        || REGEXP_SUBSTR(SPRCMNT_TEXT_NAR, 'Profesionista="([^"]+)"', 1, 1, NULL, 1) res
    FROM SPRCMNT
    WHERE 
        SPRCMNT_PIDM = SHRDGMR_PIDM 
        AND SPRCMNT_CMTT_CODE = '15' 
        AND SPRCMNT_ORIG_CODE = 'FTDF'
    

    这会为您提供一个名为 res 的单列结果,其中两个字符串连接在一起(这是运算符 || 在 Oracle 中所做的)。

    您可能需要添加分隔符:

        SPRCMNT_TEXT 
        || ' -- '
        || REGEXP_SUBSTR(SPRCMNT_TEXT_NAR, 'Profesionista="([^"]+)"', 1, 1, NULL, 1) res
    

    【讨论】:

      猜你喜欢
      • 2011-04-07
      • 2014-08-11
      • 2017-06-18
      • 2019-08-02
      • 2011-12-30
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 2018-12-18
      相关资源
      最近更新 更多