如何在PL / SQL中将光标与LISTAGG一起使用?

问题描述 投票:0回答:2

我已经使用LISTAGG连接来自两个不同表的数据以形成以下输出:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9GUVNJOC5wbmcifQ==” alt =“ REGION_NATION”>

我如何像这样整齐地显示以上输出:

“所需的输出显示”“ >>

我正在使用ORACLE PL / SQL。我在想这是否可以通过实现游标来完成,但是我不确定该怎么做。也许还有其他方法可以实现这一目标?谢谢。

我已经使用LISTAGG连接来自两个不同表的数据以形成以下输出:如何像这样整齐地显示以上输出:我正在使用ORACLE PL / SQL。我在想这是否...

sql database oracle plsql sqlplus
2个回答
0
投票

看起来NATION.N_NAME列的数据类型是CHAR,因为这些名称用空白填充。我会切换到VARCAHR2(如果可能)或尝试使用TRIM,例如


0
投票
WITH CTE AS 
(SELECT     r.REGION_KEY
            ,r.R_NAME
            ,LIST_AGG(trim(n.N_NAME),',') WITHIN GROUP (ORDER BY R_NAME) AS REGION_NATION
FROM        REGION r
INNER JOIN  NATION n
        ON  r.R_REGION_KEY = n.N_REGIONKEY
GROUP BY    r.R_REGION_KEY
            ,r.R_NAME
)
SELECT      REGION_KEY
            ,R_NAME || ':' || REGION_NATION as REGION_TEXT
FROM        CTE
© www.soinside.com 2019 - 2024. All rights reserved.