Weblogs Código

RecorteX

73 usuarios y 244 recortes de código
Usuario

Contraseña
Crear cuenta
asp csharp css fechas Flash html imagenes java javascript linux mysql oracle php sql SQLServer url vbnet web xhtml xml
Top Usuarios
fjmp76 (43)
albin (31)
josuebasurto (31)
juanjo (30)
pedrocaro (9)
stanz (8)
AndiXTRM (7)
Joserra (7)
miiglesi (6)
aplyca (5)
Top Etiquetas
php (38)
vbnet (28)
javascript (26)
csharp (26)
html (25)
java (24)
sql (18)
xml (13)
mysql (13)
css (10)
xhtml (7)
Flash (7)
imagenes (7)
linux (6)
fechas (6)
asp (6)
oracle (5)
url (5)
web (5)
SQLServer (5)

Concatenar varias filas en una columna con Oracle

Función para poder seleccionar el texto de varias filas en una única columna. Funciona como una función de grupo.
 
CREATE OR REPLACE FUNCTION rowconcat(q IN VARCHAR2) RETURN VARCHAR2 IS
  ret  VARCHAR2(4000);
  hold VARCHAR2(4000);
  cur  sys_refcursor;
BEGIN
  OPEN cur FOR q;
  LOOP
    FETCH cur INTO hold;
    EXIT WHEN cur%NOTFOUND;
    IF ret IS NULL THEN
      ret := hold;
    ELSE
      ret := ret || ',' || hold;
    END IF;
  END LOOP;
  RETURN ret;
END;
/
 
Ejemplo
 
SQL> SELECT rowconcat('SELECT dname FROM dept') AS departments
  2    FROM dual;
 
DEPARTMENTS
--------------------------------------------------------------------------------
ACCOUNTING,RESEARCH,SALES,OPERATIONS
 
Encontrado en http://orafaq.com/faq/map_rows_to_a_column
Comentario de bgabi15:

Hola gracias por este aporte tengo dias buscando algo asi, lo probe y perfecto para lo que quiero pero como hago si le quiero agregar un where al select

SELECT dname FROM dept’

Identifícate para dejar un comentario.
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin