모두모두 행복한 하루되시길....
환경 : 기존에 A라는 테이블이 너무 커져서 A테이블의 a1이라는 필드(날자값이 저장)를 기준으로 A_old 라는 테이블을 만들어 두개로 분리했습니다.
A 테이블 : a1 필드가 '20100101' 부터 현재 까지의 자료가 저장됨
A_old 테이블 : a1 필드가 '20100101' 보다 적은 값이 저장됨
* A와 A_old 테이블은 테이블명만 다르고 구조는 똑같습니다.
질문 : C 테이블의 레코드가 A테이블의 키값과 A_old 테이블의 키값을 참조하여 A 및 A_old 테이블의 값을 참조 해야 합니다.
특정일을 기준으로 나눠진 똑같은 구조의 두개의 테이블을 하나의 다른 테이블에서 한꺼번에 JOIN을 하고 싶습니다.
select
case when C.fore_time >= '201001010000' Then B.fore_end1 else A.fore_end1 End,
case when C.fore_time >= '201001010000' Then B.fore_end2_end else A.fore_end2 End,
case when C.fore_time >= '201001010000' Then B.fore_end3 else A.fore_end3 End,
C.vessel_cs,
C.fore_time,
C.edit_man,
C.remark_kind
from C, B , A
where (C.B_id = (case when C.fore_time >= '201001010000' Then B.pk_id else A.pk_id End))
이렇게 하면 안되는건가요???
* fore_time 필드는 A 와 A_old 테이블에 같이 있습니다. |