unpivot 함수에서 구성하려는 단위 번호로 그룹화되도록 열을 행으로 피벗 해제하려고합니다.
설명을 단순화하려면 아래 쿼리 예를 참조하십시오.
select
'123456789' student
,'01/Jul/2020' unit_1_date
,'Mathematics 'unit_1_subject
,'01/Aug/2020' unit_2_date
,'English 'unit_2_subject
from
dual
5 개의 열을 출력합니다.
student unit_1_date unit_1_subject unit_2_date unit_2_subject
123456789 01/Jul/2020 Mathematics 01/Aug/2020 English
단위 번호별로 그룹화하고 다음과 같이 표시 할 수 있도록이 열의 피벗을 해제하고 싶습니다.
student unit_number unit_date unit_subject
123456789 1 01/Jul/2020 Mathematics
123456789 2 01/Aug/2020 English
나는 아래와 같이 unpivot 기능으로 이것을 시도했습니다.
select * from
(select
'123456789' student
,'01/Jul/2020' unit_1_date
,'Mathematics 'unit_1_subject
,'01/Aug/2020' unit_2_date
,'English 'unit_2_subject
from
dual) units
unpivot(unit_date for unit_number in(
unit_1_subject as '1',
unit_1_date as '1',
unit_2_subject as '2',
unit_2_date as '2'
))
다음과 같은 날짜를 출력합니다.
Student Unit number Unit_date
123456789 1 Mathematics
123456789 1 01/Jul/2020
123456789 2 English
123456789 2 01/Aug/2020
두 개의 열을 그룹화하여 단위 번호로 그룹화하는 방법을 잘 모르겠습니다. 이를 수행하는 가장 좋은 방법은 무엇입니까? UNPIVOT 기능으로 가능합니까?
감사