쿼리 질문이요~ㅠ 0 1 1,424

by 손님 [SQL Query] 쿼리 [2010.02.19 14:52:36]


아래 와같이  A,B,C,D,로 된 컬럼 이있습니다.
1)
A B C D
1 A 10 20
2 B 30 40
3 C  50    60
4     D 70 80

이 데이터를 변형하여 2번의 형태로 SELECT 하려고 합니다.
2)
A B C D     E
1 A 10 20   40
2 B 30 40 60
3 C  50    60 80
4     D 70 80  

여기서 E 컬럼은
1번 테이블에서 A 컬럼 1의 E는 2의 D
2의 E는 3의 D 값
3의 E는 4의 D값
4의 E는 5가 없으므로 NULL 로 받아 오려하는데
쿼리가 생각이 나지않네요~ 관심부탁합니다. ㅠ.ㅠ
by 왕초보 [2010.02.19 15:32:46]
WITH TT AS (
SELECT 1 "A", 'A' "B", 10 "C", 20 "D" FROM DUAL
UNION ALL SELECT 2, 'B', 30, 40 FROM DUAL
UNION ALL SELECT 3, 'C', 50, 60 FROM DUAL
UNION ALL SELECT 4, 'D', 70, 80 FROM DUAL
)
SELECT A, B, C, D,
LEAD(D,1) OVER(ORDER BY A) E
FROM TT;

이렇게 하시면 될것 같은데....
더 좋은 방법이 있으면 다른분이 답변좀 해주세요..
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입