쿼리 부탁드립니다... 0 2 3,115

by 멜로 [SQL Query] [2023.09.21 09:33:40]


안녕하세요. 이제 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테이블의 데이터가 아닌 컬럼명을 가지고 있어서 어렵고 어떻게 짜야할지 모르겠습니다.

 

 

by 마농 [2023.09.21 13:08:01]

서술형으로 들어 주신 예시는 헷갈리네요. 뭔소린지 잘 모르겠습니다.
실질적인 값이 적혀 있는 테이블 형태로 예를 들어 주시면 좋을 듯 합니다.


by 멜로 [2023.09.22 14:21:05]

어플리케이션 단에서 문제를 해결하였습니다. 관심 가져주셔서 감사합니다 :)

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입