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 38742 게시물 읽기
No. 38742
같은필드 나나내지 않기..오라클8
작성자
아폴론(apollon)
작성일
2011-07-27 16:36ⓒ
2011-07-27 16:38ⓜ
조회수
4,309

with table1 as
 (select '1010' Code, '001' brcd, 100000 금액 from dual union all
  select '1010' Code, '002' brcd, 100000 금액 from dual union all
  select '1010' Code, '003' brcd, 100000 금액 from dual union all
  select '1020' Code, '001' brcd, 100000 금액 from dual union all
  select '1020' Code, '002' brcd, 100000 금액 from dual union all
  select '1020' Code, '003' brcd, 100000 금액 from dual union all
  select '1030' Code, '001' brcd, 100000 금액 from dual union all
  select '1030' Code, '002' brcd, 100000 금액 from dual union all
  select '1030' Code, '003' brcd, 100000 금액 from dual
 )
 select * from table1
 
 위와 같은테이블이 있습니다... 오라클 버전은 8.1.5 입니다.

이것을 조회하면 아래처럼 나타납니다

1010  001  100000
1010  002  100000
1010  003  100000
1020  001  100000
1020  002  100000 
1020  003  100000
1030  001  100000
1030  002  100000
1030 003  100000
 

 저는 이것을 아래처럼 조회 하고 싶습니다..
1010  001  100000
       002  100000
       003  100000
 1020  001  100000
       002  100000
       003  100000
 1030  001  100000
       002  100000
       003  100000
       

 오라클버전이 8.1.5 라는것..종일 이렇게 저렇게 머리굴려도 떠오르지 않는군요...


       

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

8버전에서 row_number가 되었었는지 안되었었는지 기억이 가물가물하네요..

select decode(rn,1,code) code,brcd,금액

from (select row_number() over (partition by code order by brcd) rn,code,brcd,금액 from table)

 

아니면 brcd 001이 code마다 있다면 decode(brcd,'001',code) code 이렇게도 되겠네요

 

x님이 2011-07-27 17:12에 작성한 댓글입니다. Edit

답변 감사드립니다.

오라클 8 에서는 Row_number가 안되는군요.. 그리고..partition by 도 안되지 않나요?..

감사드립니다..

아폴론(apollon)님이 2011-07-28 13:12에 작성한 댓글입니다.

 

row_number 이나 over() 함수사용은 816 아니면 817버전부터 사용가능할겁니다.

815에서는 안됬던 기억이...

아래와같이 해보세요  self join 을 사용했습니다.

 

WITH table1 AS

     (SELECT '1010' code, '001' brcd, 100000 금액

        FROM DUAL

      UNION ALL

      SELECT '1010' code, '002' brcd, 100000 금액

        FROM DUAL

      UNION ALL

      SELECT '1010' code, '003' brcd, 100000 금액

        FROM DUAL

      UNION ALL

      SELECT '1020' code, '001' brcd, 100000 금액

        FROM DUAL

      UNION ALL

      SELECT '1020' code, '002' brcd, 100000 금액

        FROM DUAL

      UNION ALL

      SELECT '1020' code, '003' brcd, 100000 금액

        FROM DUAL

      UNION ALL

      SELECT '1030' code, '001' brcd, 100000 금액

        FROM DUAL

      UNION ALL

      SELECT '1030' code, '002' brcd, 100000 금액

        FROM DUAL

      UNION ALL

      SELECT '1030' code, '003' brcd, 100000 금액

        FROM DUAL)

SELECT code1 code, brcd, 금액

  FROM (SELECT   a.code, b.code code1, a.brcd, a.금액

            FROM table1 a,

                 (SELECT   code, MIN (brcd) brcd

                      FROM table1

                  GROUP BY code) b

           WHERE a.code = b.code(+) AND a.brcd = b.brcd(+)

 

1님이 2011-07-28 18:52에 작성한 댓글입니다. Edit

모두 답변 감사드립니다..

디비를 여러번 읽어서 처리 했습니다..ㅎㅎ

감사합니다..

아폴론(apollon)님이 2011-08-01 17:07에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
38745세로형태의 데이타 가로형태의 View 생성시 성능문의 [4]
김하늘
2011-07-28
4033
38744select 하여 update하기 [1]
bada
2011-07-27
4751
38743실행계획 문의 [4]
레이첼
2011-07-27
4736
38742같은필드 나나내지 않기..오라클8 [4]
아폴론
2011-07-27
4309
38741우리가 사용하는 서버 프로그램이 에러를 냈습니다. [1]
소금
2011-07-27
4174
38740재귀쿼리 질문드립니다. 하루동안 삽질하구있네요 [2]
노정균
2011-07-26
6206
38739반복되는 특정문자열 한개만 두고 삭제할수있을까요? [2]
이동호
2011-07-26
4248
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다