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 40262 게시물 읽기
No. 40262
각기 다른 테이블을 한 번에 열람하기
작성자
지우
작성일
2013-09-22 23:03
조회수
5,501

 

SELECT A0, B, C FROM EMP_A WHERE EMPCODE LIKE '1%'

SELECT A1, B, C FROM EMP_B WHERE EMPCODE LIKE '2%'

SELECT A2, B, C FROM EMP_C WHERE EMPCODE LIKE '3%'
 
SELECT A3, B, C FROM EMP_D WHERE EMPCODE LIKE '4%'
 
위와 같이 구성된 SQL을 간단하게 하나로 합칠 수 있는 방법이 있을까요?
- 컬럼은 A0.. 은 유사한 컬럼이고 B와 C는 동일한 칼럼입니다.
- 사번의 첫 자리수에 따라 접근하는 테이블이 다릅니다.
각기 다른 시스템에서 유사한 내용을 등록하고 있는데, 통합해서 조회하는 게 필요하여 
구성을 하고 있습니다.
 
case when을 쓰라는 조언도 들었고 view를 생성하는 것도 방법이라는데 구체적으로
어찌해야할지는 잘 모르겠습니다.
 
이 글에 대한 댓글이 총 2건 있습니다.

 UNION ALL

마농(manon94)님이 2013-09-23 08:27에 작성한 댓글입니다.

마농(manon94)님의 UNION ALL 을 이용했습니다.


DROP VIEW VIEW_EMP_ABCD;  초보 이신거 같으니 객체 있는지 확인하고 작업하세요.

CREATE OR REPLACE FORCE VIEW_EMP_ABCD
(A,B,C)
AS
SELECT A0, B, C FROM EMP_A WHERE EMPCODE LIKE '1%'
UNION ALL
SELECT A1, B, C FROM EMP_B WHERE EMPCODE LIKE '2%'
UNION ALL
SELECT A2, B, C FROM EMP_C WHERE EMPCODE LIKE '3%'
UNION ALL
SELECT A3, B, C FROM EMP_D WHERE EMPCODE LIKE '4%' ;

 

select * from VIEW_EMP_ABCD;

 

** 이때 A0, A1 칼럼 타입이 다르면
TO_CHAR(..) 로 변환후 작업 하세요.

박재덕(jdpark)님이 2013-09-23 09:57에 작성한 댓글입니다.
이 댓글은 2013-09-23 09:59에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
40266SORT ORDER BY STOPKEY 와 SORT ORDER BY의 결과가 다를수 있나요? [3]
윤재선
2013-09-25
6326
40264로깅 관련 트리거 사용 질문입니다.
게스트
2013-09-25
5597
40263row를 가변으로 만들기? [1]
이기자
2013-09-23
6011
40262각기 다른 테이블을 한 번에 열람하기 [2]
지우
2013-09-22
5501
40261쿼리 날짜 질문 [1]
초보
2013-09-17
6444
40260비효율적인 쿼리 튜닝 부탁드리겠습니다.
홍길동
2013-09-16
6260
40259connect by 관련 질문드립니다.ㅜ.ㅜ [2]
김덕헌
2013-09-14
6539
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다