buy lasix http://all-treatment.org/buy-levitra-vardenafil/ http://all-treatment.org/buy-viagra-sildenafil-citrat/ isotretinoin online buy cialis online
15 nov. 2017

SQL PRIOR

Author: Joaquim Perez Noguer | Filed under: Ciència i tecnologia

Per treballar amb SQL amb taules amb relacions amb elles mateixes, cal utilitzar l’operació CONNECT BY PRIOR de Oracle:

SELECT LEVEL, MGR MANAGER, LPAD(EMPNO,5*(LEVEL-1)) REPORTEE
FROM EMPLOYEE
START WITH MGR IS NULL
CONNECT_BY PRIOR EMPNO=MGR
ORDER SIBLINGS BY EMPNO
;

     LEVEL    MANAGER REPORTEE
---------- ---------- --------------------
         1
         2        100   110
         3        110        160
         4        160             180
         3        110        170
         2        100   120
         3        120        140
         3        120        150
         2        100   130

 

Una altra manera de fer el mateix amb DB2 és

WITH n(empid, name) AS 
   (SELECT empid, name 
    FROM emp
    WHERE name = 'Joan'
        UNION ALL
    SELECT nplus1.empid, nplus1.name 
    FROM emp as nplus1, n
    WHERE n.empid = nplus1.mgrid)
SELECT name FROM n

Més informació:



Leave a Reply