안녕하세요. 이제 2개월차 신입개발자입니다.
저희 회사에서는 값을 측정해서 3개로 분류하는데. 평균 값, 최솟값, 최댓값 으로 분류합니다.
우선 A, B, A_MIN, A_MAX 테이블 4개가 있다고 말씀드리겠습니다.
A테이블은 측정한 데이터가 저장되어 있는 테이블로 'DATA1' ~ 'DATA500'라는 이름의 '평균 값'을 가진 컬럼들이 있습니다.
B테이블은 대략 아래와 같은 구조로 되어있습니다.
TABLE_NAME | COL_NAME | MIN_TABLE_NAME | MIN_COL_NAME | MAX_TABLE_NAME | MAX_COL_NAME
A DATA1 A_MIN DATA3 A_MAX DATA3
즉. A테이블의 DATA1 컬럼의 값은 A_MIN과 A_MAX라는 테이블의 DATA3이라는 컬럼에 MIN, MAX 값을 가질 수도 있다는 것입니다.(B테이블에 데이터가 있어도 MIN, MAX 테이블에서 NULL일 수도 있음)
제가 A테이블에서 DATA1 ~ DATA500의 데이터를 가져올 때 B테이블을 참조해서(혹은 참조하지 않고 더 나은 방향이 있다면) 현재 A테이블에서 조회하고 있는 DATA가 A_MIN과 A_MAX를 가지고 있다면 A_MIN과 A_MAX 테이블에서 값을 가져오고 싶습니다. 그리고 B테이블에 없는 DATA들은 MIN과 MAX를 0으로 가져오고 싶습니다.
위 예시를 빌려써보자면 A 테이블을 전체 조회할 때 DATA1은 B테이블을 통해서 MIN, MAX가 존재할 수도 있음을 알게되고 A_MIN, A_MAX의 DATA3 컬럼에서 값을 가져옵니다. B테이블에 없는 A테이블의 DATA 컬럼들은 MIN, MAX를 0으로 가져와서 alias를 (DATAX_MIN, DATA_MAX)로 주고 싶습니다.
막상 조인하려고하니 B테이블이 A테이블의 데이터가 아닌 컬럼명을 가지고 있어서 어렵고 어떻게 짜야할지 모르겠습니다.