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 39520 게시물 읽기
No. 39520
쿼리문 하나 부탁 합니다.
작성자
하승환(hj4867)
작성일
2012-07-03 15:10
조회수
5,496

A 테이블

S_NO    교시정보     시작시간     종료시간

1             1교시            0900            0950

2             2교시            1000            1050

3             3교시            1100            1150

4             4교시            1200            1250

5             5교시            1400            1450

 

B 테이블

P_NO   요일정보        과목           담당교수           강의실

2                 2               토익               홍길동               204.

3                 1                수학              배트맨               105

4                  5               국어              슈퍼맨                305

1                  4               과학               슈바이처           503

 

요일정보 : 1: 월, 2:화, 3:수......

결과값

                  월                화                   수                  목                    금                    토

1교시                                                                      과학

0900                                                                     슈바이처

0950                                                                        503

2교시                             토익         

1000                             홍길동

1050                                204

3교시    수학

1100     배트맨

1250     105

4교시                                                                                              국어

1100                                                                                            슈퍼맨

1250                                                                                              105

 

위 결과 처럼 시간표 모양으로 나오게 하고 싶은데 교시 밑에 시작시간과 마치는 시간을 함께 넣고 싶습니다.

 

고수님들의 많은 답변 부탁 드립니다.ㅎㅎ

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


WITH A_T AS
(
SELECT '1' A,'1교시' B,'0900' C,'0950' D FROM DUAL
UNION ALL SELECT '2' A,'2교시' B,'1000' C,'1050' D FROM DUAL
UNION ALL SELECT '3' A,'3교시' B,'1100' C,'1150' D FROM DUAL
UNION ALL SELECT '4' A,'4교시' B,'1200' C,'1250' D FROM DUAL
UNION ALL SELECT '5' A,'5교시' B,'1400' C,'1450' D FROM DUAL
)
,B_T AS
(
SELECT '2' A,'2' B, '토익' C,'홍길동'   D, '204' E FROM DUAL
UNION ALL SELECT '3' A,'1' B, '수학' C,'배트맨'   D, '105' E FROM DUAL
UNION ALL SELECT '4' A,'5' B, '국어' C,'슈퍼맨'   D, '305' E FROM DUAL
UNION ALL SELECT '1' A,'4' B, '과학' C,'슈바이처' D, '503' E FROM DUAL
)
,A2_T AS
(
SELECT
A
,NO
,DECODE(B.NO,1,B,2,C,3,D) B
FROM A_T
,(SELECT LEVEL NO FROM DUAL CONNECT BY LEVEL <=3)B
)
,B2_T AS
(
SELECT
A
,NO
,B
,DECODE(B.NO,1,C,2,D,3,E) C
FROM B_T
,(SELECT LEVEL NO FROM DUAL CONNECT BY LEVEL <= 3)B
)
SELECT
*
FROM
(
SELECT
A.A
,A.NO
,A.B B
,B.B B2
,C
FROM A2_T A
PARTITION BY (A.NO)
LEFT OUTER JOIN B2_T B
ON
(
 B.A = A.A
AND B.NO = A.NO
)
)
PIVOT
(MAX(C) FOR B2 IN ('1' "월",'2'"화",'3'"수",'4'"목",'5'"금",'6'"토",'7'"일"))
ORDER BY 1,2
 

왕초보님이 2012-07-04 17:47에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
39523문자 변경 [1]
김윤구
2012-07-04
4075
39522문자열에서 chr(161)를 없애고 싶습니다. [4]
dol
2012-07-04
6143
39521테이블 한글명 조회하기 질문 [1]
구름이
2012-07-04
4455
39520쿼리문 하나 부탁 합니다. [1]
하승환
2012-07-03
5496
39519dbv utility로 corrupt block에 대해서 fix 할 수 있나요?
Bigsur
2012-07-03
4122
39518저렴한 DB TOOL 추천부탁드립니다 [3]
TOAD말고
2012-07-03
6645
39517insert 문안에 substr 함수를 쓰고 싶어요..isql = "insert into cit10501 (" [1]
정명규
2012-07-02
4644
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다