我的表中有3列
Products (product_id, product_detail_name, product_detail_value)
对于每个产品,我希望其所有详细信息都放在一个单元格中,即采用以下格式:
product_id, concatenated_values
tv6aics11#
使用字符串聚合函数 listagg() :
listagg()
select product_id, listagg(product_detail_value) product_details from mytable group by product_id
或者如果你想看到逗号分隔的结果 'name: value' 成对,然后:
'name: value'
select product_id, listagg(product_detail_name || ': ' || product_detail_value) product_details from mytable group by product_id ``` `listagg()` 还支持 `order by` 条款(带 `within group` 语法),这在文档中有描述。
voase2hg2#
您还可以使用 LISTAGG 定义分隔符。
LISTAGG
Select product_id, Listagg(product_detail_name || ':' || product_detail_value, ' ,') p_details from mytable Group By product_id;
2条答案
按热度按时间tv6aics11#
使用字符串聚合函数
listagg()
:或者如果你想看到逗号分隔的结果
'name: value'
成对,然后:voase2hg2#
您还可以使用
LISTAGG
定义分隔符。