일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Spring boot
- flet
- 자바암호
- 자바네트워크
- kotlin
- python
- GPT-4's answer
- Java
- 뉴턴역학
- 자바
- Database
- write by chatGPT
- JVM
- 유닉스
- android
- oracle
- chatGPT's answer
- 소프트웨어공학
- 리눅스
- 시스템
- 파이썬
- lombok
- 역학
- 고전역학
- GIT
- 코틀린
- write by GPT-4
- 웹 크롤링
- 인프라
- NIO
- Today
- Total
Akashic Records
행을 열로 확장 본문
코드 테이블인 CO001T의 데이터 구조
Major | Minor |
영업 | 가마니 |
영업 | 나오미 |
영업 | 마동탁 |
물류 | 사시미 |
물류 | 아사달 |
회계 | 자몽돌 |
회계 | 차이나 |
회계 | 카이로 |
전산 | 파김치 |
∴ 결과 집합
MAJOR | MINOR1 | MINOR2 | MINOR3 |
물류 | 사시미 | 아사달 | |
영업 | 가마니 | 나오미 | 마동탁 |
전산 | 파김치 | ||
회계 | 자몽돌 | 차이나 | 카이로 |
∴ 문제
위 테이블의 데이터를 참조하여 결과집합을 구하는 SQL을 작성하시오. CO001T는 코드 테이블로 하나의 MAJOR 코드에 대하여 최대 3개의 MINOR 코드를 가질 수 있다.우리는 보고자 하는 것은 각 MAJOR 코드에 대하여 MINOR 코드 를 가로로 정렬하여 보고자 한다. 이때 MINOR 코드가 3개가 아닌 경우에 나머지는 공백으로 둔다.
테이블 생성 스크립트 |
CREATE TABLE CO001T ( MAJOR VARCHAR2 (6), MINOR VARCHAR2 (10)) TABLESPACE ENCDATA PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 40960 NEXT 40960 PCTINCREASE 50 MINEXTENTS 1 MAXEXTENTS 505 FREELISTS 1 FREELIST GROUPS 1 ) NOCACHE; |
해결 쿼리 |
SELECT A.MAJOR, MAX(DECODE(R-R1,0,MINOR))MINOR1, MAX(DECODE(R-R1,1,MINOR))MINOR2, MAX(DECODE(R-R1,2,MINOR))MINOR3 FROM (SELECT ROWNUM R, MAJOR, MINOR FROM C0001T)A, (SELECT MIN(ROWNUM)R1,MAJOR FROM C0001T group by major)B WHERE A.MAJOR = B.MAJOR GROUP BY A.MAJOR |
'오래된글 > DataBase' 카테고리의 다른 글
ANSI/X3/SPARC (0) | 2018.04.15 |
---|---|
Analytical Function (0) | 2018.04.15 |
한달을 요일별로 구함 (0) | 2018.04.15 |
인덱스 컬럼의 매칭율 높이는 방법 (0) | 2018.04.15 |
옵티마이저의 Index 선택 기준 (0) | 2018.04.15 |