동일한 구조를 가진 N개의 테이블의 데이터를 하나의 테이블에서 조회한것 처럼 조회 0 5 2,324

by 정진우 [SQL Query] [2014.02.19 16:28:12]


안녕하세요, 오랜만에 인사드립니다.

지금 하려고하는게 이리저리 알아봐도 잘 모르겠어서 도움을 청하네요.

제가 하려고 하는 것은

동일한 칼럼명, 데이터형식을 가진 테이블의 조회결과를 하나의 테이블에서 나온 것처럼 결과값을 얻고싶은데요.

테이블은 월 별 데이터를 분류할 생각입니다.

테이블명은 TBA_2014_01 , 컬럼은, ID_SEQ, ID_VALUE, ID_SPEC 이렇게 존재한다고 가정하고,

조회할 테이블은 1개 혹은 N개 일 경우 입니다.

TBA_2013_12 / TBA_2014_01 / TBA_2014_02 이렇게 3개의 테이블에서 ID_SEPC 의 값이 동일한 값들을
(
  SELECT * FROM TBA_2013_12 WHERE ID_SPEC = 'TEST'
  UNION ALL SELECT * FROM TBA_2014_01 WHERE ID_SPEC = 'TEST'
  UNION ALL SELECT * FROM TBA_2014_02 WHERE ID_SPEC = 'TEST'
) = 이런 조회 결과와 같은 결과값을 받고 싶어요 ..

마치 하나의 테이블에서 조회한 것 처럼 조회하려면 어떻게 SQL을 구현하여야 할까요 ?


알아본 봐로는 CURSOR를 활용하는 방법, 그런데 이 커서로도 N개의 TABLE 을 통해 값을 반환 받을 수 있는지 모르겠습니다.
(구루비 TIP 게시판, 구글 검색 등..)
검색을 통해 본 것으로는 1개의 테이블에서 REF_CURSOR를 통해 반환 받는 것이었는데요. 

응용력이 모자르는지 ; N개의 테이블은 어떻게 처리를 해야할 지 모르겠네요..

*완벽한 답안이 아닌, 가이드라도 좀 부탁드립니다.

감사합니다.
by DarkBee [2014.02.19 17:00:25]
그냥 이렇게 하면 안돼요?

SELECT * FROM TBA_2013_12 WHERE ID_SPEC = 'TEST'

  UNION ALL SELECT * FROM TBA_2014_01 WHERE ID_SPEC = 'TEST'
  UNION ALL SELECT * FROM TBA_2014_02 WHERE ID_SPEC = 'TEST'

by 손님 [2014.02.19 20:47:31]
테이블 대상이 동적으로 변하는 것 같은데..
테이블 펑션을 만드시고 동적 sql로 테이블 유니온 셀렉트 하는 쿼리 만드시고 타입에 받아서 테이블처럼 리턴하도록 하면 될 것 같은데요..
동적 sql 결과를 타입에다 받아본 적은 없어서...

by 손님 [2014.02.19 20:48:14]
확신은 못하겠네요

by 손님 [2014.02.19 20:48:43]
여기 왜 어플로 로그인이 안되나..ㅜㅡ

by DarkBee [2014.02.20 09:59:54]
http://www.gurubee.net/lecture/1843
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입