假设我有一个问题
select name from tbl where dept = 123
返回这样的数据集
bob
carol
steve
有没有一种方法可以本地表达(在 sql 中,或者可能是一个过程?)一个查询,它将数据作为 CSV 或空格分隔列表返回?
bob,carol,steve
最佳答案
什么版本的甲骨文?
Tim Hall 有一个页面描述了各种 string aggregation techniques in Oracle .如果您使用的是 Oracle 11.2,最简单的选择是
SELECT listagg(name, ',') within group( order by name)
FROM table_name
WHERE dept = 123
如果您使用的是早期版本的 Oracle,还有许多其他方法各有优缺点。 Tim 对各种方法的比较非常完整。
关于sql - Oracle:选择 CSV 格式的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8797669/