3
oracle 9i의 쿼리에서 문자열 집계를 수행하는 방법은 무엇입니까?oracle 9i의 쿼리에서 문자열 집계를 수행하는 방법은 무엇입니까?
한 가지 방법 문제를 해결하기 위해 특정 기능을 작성하는 것입니다 : -
LISTAGG 못해 here에서
oracle 9i의 쿼리에서 문자열 집계를 수행하는 방법은 무엇입니까?oracle 9i의 쿼리에서 문자열 집계를 수행하는 방법은 무엇입니까?
한 가지 방법 문제를 해결하기 위해 특정 기능을 작성하는 것입니다 : -
LISTAGG 못해 here에서
는 오라클 9i의 작동합니다.
CREATE OR REPLACE FUNCTION get_employees (p_deptno in emp.deptno%TYPE)
RETURN VARCHAR2
IS
l_text VARCHAR2(32767) := NULL;
BEGIN
FOR cur_rec IN (SELECT ename FROM emp WHERE deptno = p_deptno) LOOP
l_text := l_text || ',' || cur_rec.ename;
END LOOP;
RETURN LTRIM(l_text, ',');
END;
/
SHOW ERRORS
이 함수는 다음과 같이 쿼리에 통합 될 수 있습니다.
COLUMN employees FORMAT A50
SELECT e.deptno,
get_employees(e.deptno) AS employees
FROM (SELECT DISTINCT deptno
FROM emp) e;
DEPTNO EMPLOYEES
---------- --------------------------------------------------
10 CLARK,KING,MILLER
20 SMITH,JONES,SCOTT,ADAMS,FORD
30 ALLEN,WARD,MARTIN,BLAKE,TURNER,JAMES