본문 바로가기

StoreHouse/DataBase

Mysql 개별필드 조인

아래와 같이 코드 라는 테이블이 있고 여기서 INFO 테이블에서 CODE.CODE_NAME 을 가져와 출력해야하는데

INFO 테이블을 출력

과자 음력 남성 미혼 3월 이런식으로 출력해야되는데

쿼리 문을 어떻게 써야할지 감이 안잡히네요


==================================
INFO

빵종류 구분 성별 결혼유무 월
1001 1 3 5 9
1002 2 4 5 8
==================================
PRODUCT

ID NAME
1001 과자
1002 빵
1003 우유
==================================
CODE

CODE_ID CODE_NAME
1 양력
2 음력
3 남성
4 여성
5 미혼
6 결혼
7 1월
8 2월
9 3월
==================================


이 글에 대한 댓글이 총 2건 있습니다.
조인이 좀 많은데.. 아래와 같이 하면 되지않을까요



필드개개별로 code 와 조인해야 될것 같네요



create table info (
빵종류 varchar(4),
구분 int(2),
성별 int(2),
결혼유무 int(2),
월 int(2) );



create table product (
id varchar(4),
name varchar(10) );



create table code (
code_id int(2),
code_name varchar(10) );



insert into info values ('1001',1,3,5,9);
insert into info values ('1002',2,4,5,8);




insert into product values ('1001','과자');
insert into product values ('1002','빵');
insert into product values ('1003','우유');




insert into code values (1,'양력');
insert into code values (2,'음력');
insert into code values (3,'남성');
insert into code values (4,'여성');
insert into code values (5,'미혼');
insert into code values (6,'결혼');
insert into code values (7,'1월');
insert into code values (8,'2월');
insert into code values (9,'3월');


select b.name 빵종류, c.code_name 구분, d.code_name 성별,
e.code_name 결혼유무, f.code_name 월
from info a join product b
on a.빵종류 = b.id
join code c on a.구분 = c.code_id
join code d on a.성별 = d.code_id
join code e on a.결혼유무 = e.code_id
join code f on a.월 = f.code_id

+--------+------+------+----------+------+
| 빵종류 | 구분 | 성별 | 결혼유무 | 월 |
+--------+------+------+----------+------+
| 빵 | 음력 | 여성 | 미혼 | 2월 |
| 과자 | 양력 | 남성 | 미혼 | 3월 |
+--------+------+------+----------+------+