열의 Oracle 쉼표로 구분 된 값 (ID). 쉼표로 구분 된 문자열의 각 값에 대한 설명을 가져 오는 방법.

사용자 2691287

제목이 헷갈려서 죄송합니다. 두 번째로 읽어도 이해가 안 됐어요.

여기에 자세한 설명이 있습니다.

이름, 금액, 직원 열이있는 "수상"이라는 테이블이 있습니다.

다음 열이있는 다른 테이블 "Employee": Emp_Id, Emp_Name

그리고 "Awards"테이블의 직원 열에는 "01,20"값이 있는데, 이는 실제로 "Employee"테이블을 참조하는 직원 ID입니다.

"수상"쿼리를 선택하여 직원 이름을 얻을 수있는 방법이 있습니까?

사용자 2691287

데이터베이스를 변경했습니다 (테이블을 하나 더 추가했습니다). 이미 CODE 변경을 시작했습니다.

WITH t AS
   (
      Select emp_name from  employee where  emp_id in (
        select regexp_substr(Employee ,'[^,]+', 1, level) from awards 
        connect by regexp_substr((select Employee from awards ), '[^,]+', 1, level) is
        not null)
   )
SELECT  LTRIM(SYS_CONNECT_BY_PATH(emp_name, ','),',') emp_name
FROM ( SELECT emp_name,
       ROW_NUMBER() OVER (ORDER BY emp_name) FILA
       FROM t )
WHERE CONNECT_BY_ISLEAF = 1
START WITH FILA = 1
CONNECT BY PRIOR FILA = FILA - 1

그것은 일시적이고 나는 그것에 대해 거의 이해하지 못합니다.

도움과 제안에 감사드립니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사