mysql join 질문드려요... 0 4 869

by 메밀묵도토리묵 [SQL Query] mariadb dbeaver [2022.08.26 13:26:42]


month id
202206 1
202206 1
202206 1
202206 1
202207 2
202207 2
202207 2
202207 2
202207 2

 

 

 

code code_id
L 1
V 2

 

type type_name type_name_korean
code L 사과
code V
code E 메론
code D 수박
sql F  
sql G  
sql H  
sql I  
sql J  

 

위의 3개의 테이블을 조인하는 부분에 대해서 질문드립니다...

C테이블에서 type컬럼이 code인 type_name과 B테이블의 code와 같은 type_name_korean을 select해서, A테이블의 id와 B테이블의 code_id가 같은 부분에 데이터를 넣고 싶습니다... 테이블 2개를 조인하는 부분은 할 수 있는데, 3개를 조인하는 방법을 잘 모르겠어요... 조언이라도 부탁드립니다...

(아래처럼 나오게 하고 싶습니다)

 

month id
202206 사과
202206 사과
202206 사과
202206 사과
202207
202207
202207
202207
202207

 

 

by jkson [2022.08.26 13:57:12]

B 테이블은 왜 데이터가 중복이죠? 코드 테이블이 아닌가요?


by 메밀묵도토리묵 [2022.08.26 14:24:44]

헐, 잘못 썼어요...


by jkson [2022.08.26 16:22:05]

a.id = b.code_id

and b.code = c.type_name

and c.type = 'code' 


by 마농 [2022.08.26 18:18:13]
SELECT a.month
     , c.type_name_korean
  FROM t1 a
 INNER JOIN t2 b
    ON a.id = b.code_id
 INNER JOIN t3 c
    ON b.code = c.type_name
   AND c.type = 'code'
;

 

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