【问题标题】:Concatenate the LISTAGG output with other columns将 LISTAGG 输出与其他列连接起来
【发布时间】:2014-10-30 12:08:30
【问题描述】:

我需要在同一个查询中连接输出。可以这样做吗?

查询示例:

Concat(c.manames,a.transaction_amt_us) as concat listagg(i.settlement_type,',')within group (order by i.settlement_type) as settlement_type,

我想连接两个输出,即 concat 和结算类型并进入一列。

类似: Concat(concat,settlement_type)

帮我解决这个问题。

【问题讨论】:

    标签: sql oracle11g concatenation concat


    【解决方案1】:

    当然。只需使用||

    (c.manames || a.transaction_amt_us) ||
     listagg(i.settlement_type,',')within group (order by i.settlement_type)
    ) as AllTogether
    

    您可以使用concat() 执行此操作,但需要调用两次:

    concat(concat(c.manames, a.transaction_amt_us),
           listagg(i.settlement_type,',')within group (order by i.settlement_type)
          ) as AllTogether
    

    【讨论】:

    • 感谢 Gordon,我已经尝试过了,但没有成功。我也为其他列使用了“listgg”,但这不需要连接。是这个问题吗?
    • 我的意思是没有检索到数据。如果不应用这个,我会得到 1635 行。
    • @Prash 。 . .您应该在完整查询中提出另一个问题。如果可以,请在 SQL Fiddle 上设置一个小示例来演示您的问题。 concat() 不会过滤掉行。而且,编辑这个问题可能会使我的回答无效,这是不礼貌的,所以最好再问一个问题(即使你删除了这个问题)。
    • @Gordon..我已接受您对我发布的问题的回答,该问题适用于该部分问题。我将发布另一个问题,其中包含我的实际问题的示例,单独发布它是有意义的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多