채택완료
조인을 해서 insert를 하려고 합니다.

회사테이블과 예약정보테이블이 있습니다.
회사테이블은 회사정보를, 예약정보테이블은 예약정보를 건별로 저장하고 있습니다.
현재는 2개의 테이블을 조인할 때 '회사이름'을 기준으로 하고 있습니다.
그런데 나중에 동일한 회사명이 있을 수 있다는 생각이 들어서 테이블을 변경하려고 하는데
회사테이블에 있는 회사코드를 기준으로 조인하고 싶습니다.
그래서, 회사이름을 기준으로 회사테이블의 회사코드를 가져와서
예약정보테이블에 회사코드를 저장하려고 하는데
쿼리문을 어떻게 작성해야 할까요?

답변 3개
채택된 답변
+20 포인트
첫째, 회사테이블에서 회사이름을 기준으로 회사코드를 가져오는 쿼리문을 작성해야 합니다. 이를 위해서는 SELECT 구문을 사용하여 회사테이블에서 회사이름과 회사코드를 가져올 수 있습니다.
Copy
SELECT company_name, company_code FROM company_table
둘째, 예약정보테이블에 회사코드를 저장하려면, UPDATE 구문을 사용하여 기존의 회사이름을 기준으로 회사코드를 저장할 수 있습니다.
Copy
UPDATE reservation_table
SET company_code = (SELECT company_code FROM company_table WHERE company_name = reservation_table.company_name)
위 쿼리문은 reservation_table에서 company_name을 참조하여 company_table에서 company_code를 가져와서 reservation_table의 company_code에 업데이트 한다.
100% 테스트된 쿼리는 아니니, 반드시 db테이블을 백업 후 테스트해보시기바랍니다.
회사명을 사용하는 테이블은 등록시 그냥 검색해서 조회용으로 사용할수 있도록 처리하시면 될듯 하며
해당 회사명의 code 정보를 가져와서 예약정보 테이블에 등록해 주시면 되실듯 합니다.
바로 예약테이블에 저장하는게 아니라면
먼저 회사명으로 조회해서 그 기준으로 코드를 물고와 추가로 정보를 입력받은뒤에
기존에 예약정보에 기입된 데이터 존재여부를 체크해서
그에 따라 없다면 insert 있다면 update 방식으로 적용해 주시면 되실듯 합니다.
답변을 작성하려면 로그인이 필요합니다.