0

有一个 sql,例如如下所示,导致某些行具有一个值。我搜索与 SELECT * FROM some_sql 不同的 sql,这会导致一行包含逗号分隔值。


WITH some_sql AS (
  SELECT 1 FROM DUAL
  UNION
  SELECT 2 FROM DUAL
)
SELECT * FROM some_sql

此 SQL 产生值为 1 和 2 的两行。我搜索了一个 SQl,结果为 1,2,而没有更改“some_sql”的代码。

4

2 回答 2

2

Sice 您在 11G 上,您可以使用LISTAGG

WITH some_sql AS (
  SELECT 1 x FROM DUAL
  UNION
  SELECT 2 x FROM DUAL
)
SELECT LISTAGG(x, ',') WITHIN GROUP(ORDER BY x) FROM some_sql
于 2010-12-06T13:48:28.380 回答
2

考虑http://halisway.blogspot.com/2006/08/oracle-groupconcat-updated-again.html

于 2010-12-06T13:50:23.243 回答