Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Oracle (https://www.clubdelphi.com/foros/forumdisplay.php?f=22)
-   -   Algo similiar a LIST en Oracle (https://www.clubdelphi.com/foros/showthread.php?t=85837)

santiago14 14-05-2014 03:10:07

Algo similiar a LIST en Oracle
 
Buenas, quisiera me digan si hay una función similar a LIST de Firebird en Oracle.
Necesito obtener un listado , separado con '-' y no estoy dando en la tecla.

Gracias.

santiago14 14-05-2014 04:03:55

Me contesto a mí mismo.
En esta página está bastante claro, y encima muestra varias opciones según la versión de Oracle.
Para mi caso, Oracle 9i, el que mas se adecúa es el que lleva por título: ROW_NUMBER() and SYS_CONNECT_BY_PATH functions in Oracle 9i


La página:

http://www.oracle-base.com/articles/...techniques.php

santiago14 14-05-2014 14:25:29

Aquí muestro el caso para Oracle 9i
Código SQL [-]
SELECT deptno,
       LTRIM(MAX(SYS_CONNECT_BY_PATH(ename,','))
       KEEP (DENSE_RANK LAST ORDER BY curr),',') AS employees
FROM   (SELECT deptno,
               ename,
               ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY ename) AS curr,
               ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY ename) -1 AS prev
        FROM   emp)
GROUP BY deptno
CONNECT BY prev = PRIOR curr AND deptno = PRIOR deptno
START WITH curr = 1;

    DEPTNO EMPLOYEES
---------- --------------------------------------------------
        10 CLARK,KING,MILLER
        20 ADAMS,FORD,JONES,SCOTT,SMITH
        30 ALLEN,BLAKE,JAMES,MARTIN,TURNER,WARD

3 rows selected.

Casimiro Notevi 14-05-2014 15:53:05

Desconocía list de firebird :)

santiago14 14-05-2014 16:22:59

Se implementó desde Firebird 2.1. Soluciona muchos problemas...


La franja horaria es GMT +2. Ahora son las 22:33:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi