연구 목적으로 당장 급하게 데이터를 뽑아내야 해서 처음부터 차근차근 MySQL을 배운 탓이 아닌지
중간중간에 막히는 부분이 많아 힘들네요 ㅠㅡㅠ.
그래도 여태껏 어느정도 잘 해왔는데 이번에 막히는 부분은 도무지 잘 풀리지가 않아서 질문드립니다.
지금 하고자 하는것이 예를들자면, Apple의 1차 supplier, 2차 supplier, 3차 supplier, 4차 supplier,.. 이런식으로 계속해서 구해나가려고 하는거예요.
즉, ent_v1_ent_scr_supply_chain 테이블에서
먼저 customer_factset_entity_id가 000C7F-E (Apple factset entity id) 인 경우를 찾고 (결과 1),
그다음 다시 ent_v1_ent_scr_supply_chain 테이블에서 customer_factset_entity_id 와 결과 1에서의 supply_factset_entity_id 가 일치하는 경우를 찾고 (결과 2)
다시 ent_v1_ent_scr_supply_chain 테이블에서 customer_factset_entity_id 와 결과 2에서의 supply_factset_entity_id 가 일치하는 경우를 찾고 (결과 3),,
이런식으로 계속 반복 (수렴값은 따로 없음. 더이상 하위 공급업체가 없을 때까지 반복)해나가면 될 것 같은데, 간단한것 같았는데 막상 해보니까 어떻게 해야할 지 도통 감이 안오네요ㅠㅠ
결과 1,2,3,,, 별로 테이블을 각각 만들고, 그걸 조인해서 결과물을 출력하면 될것같은데.. 테이블을 어떻게 만들어야 할지 잘 모르겠어요
제 설명을 이해하는데 도움이 될까 싶어서, 그림을 첨부할께요.
그림 링크는 다음과 같습니다.
https://drive.google.com/file/d/1A-B8IoppeqixIt-zDZSpRPop_wv4eCN2/view?usp=sharing
그리고 제가 짜려는 코드는 이런식이에요..
create view v_Level_2
as
select supplier_factset_entity_id as 'Level2_Supplier', customer_factset_entity_id as 'Level2_Customer'
이렇게 뷰를 만들고
select Level1_Supplier
, Level1_Customer
, Level2_Supplier
, Level2_Customer
, Level3_Supplier
, Level3_Customer
from v_level_1 ja
join v_Level_2 jb on ja.Level1_Supplier = jb.Level2_Customer
이렇게 조인을 하면 될것 같은데... 후.. 감이 잘 안잡히네요.. SQL을 써본건 데이터 인터넷 게시판을 만들때 저장용으로 쓴게 다라서요.. 정식으로 배우질 않아서 그런지 머릿속에서 꼬이기만 하고 잘 안됩니다.
여러분 도움 부탁드려요!
|