초짜 개발자 쿼리 질문 좀 드리겠습니다. 0 0 910

by 몽환중독자 [SQL Query] [2011.11.07 17:10:37]


category_code 테이블
 이 테이블에 컬러몀은 category_name_code 분류명, category_degree 차수, category_code 코드명 
 category_code_name 코드항목명 등의 컬러명이 존재하고 위 세개의 컬럼명이 키값입니다.
old_connection_table 테이블
 이 테이블에 컬럼명은 seq_no 라는 프라이머리키가 되는 컬럼명과 
 old_category_code 분류명, old_category_degree 차수, old_category_item_code 코드명
 new_category_code 신분류명, new_category_degree 신차수, new_category_item_code 신코드명
이렇게 컬럼이 존재하고 위의 6개의 컬럼은 모든 포린키가 되는데요..

이 두개의 테이블을 이용해서 아래와 같은 결과를 출력하려고 합니다..

 신코드   신코드항목명 구코드 쿠코드항목명
 01   xxxxx 01 xxxxxxx
 011     xxxxx     011     xxxxxxx
  012     xxxxxxx
 013     xxxxx     013     xxxxxxx
 014     xxxxx    
 015     xxxxx    015     xxxxxxx

이런식으로 데이타를 출력하려고 하는데요..
위의 신코드와 구코드는 모두 category_code 라는 테이블에 각기 다른 차수로 데이타가 존재합니다.
예를들어 category_name_code 가 001 이라는 값의 category_degree는 01부터 09까지 존재할수 있고
각 차수별로 category_code 라는 컬럼은 여러개의 값을 가지고 있습니다.
예를들어 위의 신코드는 09차수의 데이터라면 구코드는 08차수의 데이터입니다.
위에 보시는것처럼 08차수에 존재하던 코드가 09차수에서는 없어질수도 있고 반대로
08차수에 없던 코드가 09차수에는 있을수도 있습니다.

나름대로 해보려고  
select a.category_code, b.category_code
 from category_code a, (select * from category_code   
   where category_name_code = '001'
and category_degree = '08') b
where   a.category_name_code = b.category_name_code
  and a.category_degree   = b.category_degree
 and a.category_code = b.category_code
and   a.category_name_code = '001'
and a.category_degree = '09'

요런식으로 접근해봤는데 아웃조인도 해보고 했는데요 도저히 모르겠네요 ㅠㅠ
워낙 허접한 초짜라서 고수님들의 조언좀 부탁드립니다...
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입