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 41361 게시물 읽기
No. 41361
행열질문입니다.
작성자
김경태
작성일
2017-03-18 19:41ⓒ
2017-03-20 08:47ⓜ
조회수
9,357

이러데이타를

ABC-1001 A1 11 111 1

ABC-1002 A1 22 222 2

ABC-1003 A1 33 333 3

ABC-1004 A1 44 444 4

ABC-1005 A1 55 555 5

ABC-1006 A1 66 666 6

ABC-1007 A1 77 777 7

ABC-1008 A1 88 888 8

ABC-1009 A1 99 999 9

ABC-1010 A1 100 1000 10 유니온을쓰지않고 아래처럼 만들수있나요????? **** 부탁드립니다. __;; 암만해도 안되서요

A1 ABC-1001 ABC-1002 ABC-1003 ABC-1004
A1 11 22 33 44
A1 111 222 333 444
A1 ABC-1005 ABC-1006 ABC-1007 ABC-1008
A1 55 66 77 88
A1 555 666 777 888
A1 ABC-1009 ABC-1010    
A1 99 100    
A1 999 1000    

SELECT 'ABC-1001' eqpname, 'A1' eqpgu, 11 v1, 111 v2, 1 seq FROM DUAL UNION ALL SELECT 'ABC-1002' eqpname, 'A1' eqpgu, 22 v1, 222 v2, 2 seq FROM DUAL UNION ALL SELECT 'ABC-1003' eqpname, 'A1' eqpgu, 33 v1, 333 v2, 3 seq FROM DUAL UNION ALL SELECT 'ABC-1004' eqpname, 'A1' eqpgu, 44 v1, 444 v2, 4 seq FROM DUAL UNION ALL SELECT 'ABC-1005' eqpname, 'A1' eqpgu, 55 v1, 555 v2, 5 seq FROM DUAL UNION ALL SELECT 'ABC-1006' eqpname, 'A1' eqpgu, 66 v1, 666 v2, 6 seq FROM DUAL UNION ALL SELECT 'ABC-1007' eqpname, 'A1' eqpgu, 77 v1, 777 v2, 7 seq FROM DUAL UNION ALL SELECT 'ABC-1008' eqpname, 'A1' eqpgu, 88 v1, 888 v2, 8 seq FROM DUAL UNION ALL SELECT 'ABC-1009' eqpname, 'A1' eqpgu, 99 v1, 999 v2, 9 seq FROM DUAL UNION ALL SELECT 'ABC-1010' eqpname, 'A1' eqpgu, 100 v1, 1000 v2, 10 seq FROM DUAL

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

WITH t AS
(
SELECT 'ABC-1001' eqpname, 'A1' eqpgu, 11 v1, 111 v2, 1 seq FROM dual
UNION ALL SELECT 'ABC-1002', 'A1',  22,  222,  2 FROM dual
UNION ALL SELECT 'ABC-1003', 'A1',  33,  333,  3 FROM dual
UNION ALL SELECT 'ABC-1004', 'A1',  44,  444,  4 FROM dual
UNION ALL SELECT 'ABC-1005', 'A1',  55,  555,  5 FROM dual
UNION ALL SELECT 'ABC-1006', 'A1',  66,  666,  6 FROM dual
UNION ALL SELECT 'ABC-1007', 'A1',  77,  777,  7 FROM dual
UNION ALL SELECT 'ABC-1008', 'A1',  88,  888,  8 FROM dual
UNION ALL SELECT 'ABC-1009', 'A1',  99,  999,  9 FROM dual
UNION ALL SELECT 'ABC-1010', 'A1', 100, 1000, 10 FROM dual
)
SELECT *
  FROM (SELECT eqpgu
             , CEIL(seq / 4) gb1
             , MOD(seq - 1, 4) + 1 gb2
             , eqpname
             , TO_CHAR(v1) v1
             , TO_CHAR(v2) v2
          FROM t
        )
 UNPIVOT (v FOR gb3 IN (eqpname, v1, v2))
 PIVOT (MIN(v) FOR gb2 IN (1, 2, 3, 4))
 ORDER BY eqpgu, gb1, gb3
;

마농(manon94)님이 2017-03-20 13:08에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
41364oracle RAC 점검 질문입니다.
goblin
2017-03-27
5782
41363인덱스테이블스페이스 관련 질문입니다.
김삼
2017-03-23
6037
41362odt에서 exp방법?
작성자
2017-03-20
5821
41361행열질문입니다. [1]
김경태
2017-03-18
9357
41360정렬 문의 드립니다. [1]
순간선택
2017-03-17
5959
41359이전 data [1]
마당쇠
2017-03-17
5808
41358조회 조건 [3]
아폴론
2017-03-17
5936
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다