database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 40797 게시물 읽기
No. 40797
데이터의 공백을 제거해서 뿌리는법? 문의드립니다.
작성자
포스(elejune)
작성일
2015-05-11 16:03
조회수
7,894

[원본]

COL1 COL2 COL3 COL4
167 A    
167 B    
167   C  
167   D  
167   E  
167     F

 

[결과]

COL1 COL2 COL3 COL4
167 A C F
167 B D  
167   E  

 

위와 같이 결과를 뿌리고 싶은데 아이디어가 안떠오르네요... ㅠㅠ

조언 부탁드립니다. ㅠㅠ

이 글에 대한 댓글이 총 2건 있습니다.

WITH t AS
(
SELECT 167 c1, 'A' c2, '' c3, '' c4 FROM dual
UNION ALL SELECT 167, 'B', '', '' FROM dual
UNION ALL SELECT 167, '', 'C', '' FROM dual
UNION ALL SELECT 167, '', 'D', '' FROM dual
UNION ALL SELECT 167, '', 'E', '' FROM dual
UNION ALL SELECT 167, '', '', 'F' FROM dual
)
SELECT c1
     , MIN(c2) c2
     , MIN(c3) c3
     , MIN(c4) c4
  FROM (SELECT c1, c2, c3, c4
             , ROW_NUMBER() OVER(
               PARTITION BY CASE WHEN c2 IS NOT NULL THEN 1
                                 WHEN c3 IS NOT NULL THEN 2
                                 WHEN c4 IS NOT NULL THEN 3
                             END
               ORDER BY c1, c2, c3                
               ) rn
          FROM t
        )
 GROUP BY c1, rn
 ORDER BY c1, rn
;

마농(manon94)님이 2015-05-12 09:55에 작성한 댓글입니다.

너무너무 감사합니다. ㅠㅠ

큰 도움 되었습니다.

포스(elejune)님이 2015-05-18 15:15에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40800오라클 쿼리 질문있습니다. [1]
박재형
2015-05-13
7501
40799윈도우 서버 2012에 오라클 9i 설치가 가능한가요?
염정훈
2015-05-13
8340
40798중복 제거 쿼리 도와주세요 [1]
왕초보
2015-05-12
8055
40797데이터의 공백을 제거해서 뿌리는법? 문의드립니다. [2]
포스
2015-05-11
7894
40796sql 질문하나 더 올립니다. ^^; [3]
이현정
2015-05-11
7605
40795쿼리문좀 봐주세요.. [1]
염정훈
2015-05-10
6834
40794100개의 데이터에서 전체평균의 70%의 값을 내는 함수가 있나요? [4]
유도윤
2015-05-09
7220
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다