티스토리 뷰

반응형

 

테이블의 내용을 연결해서 조인하는 방법 :

데이터 베이스에

SELECT outputnum, num, outdate, indate, outworkplace, orderman, outputplace, receiver, phone, comment, delivery FROM chandj.orderlist

위의 요소에서 outputnum이 원래의 출고장 번호이다.

SELECT upnum, outputnum, num, text1, text2, text3, text4, text5, ordercompany, callname, cutwidth, cutheight, number, printside, direction, exititem, intervalnum, intervalnumsecond, memo, draw, drawbottom1, drawbottom2, drawbottom3, exitinterval, cover, left_check, mid_check, right_check, done_check, remain_check FROM chandj.make

make의 테이블에서 outputnum의 값을 위의 orderlist의 outputnum 값을 넣고 싶다. 그렇게 될 수 있는 이유는 make의 upnum이 orderlist의 num과 같다.

이런 논리로 make의 outputnum값을 찾아 넣을 수 있는가?

두 테이블 orderlist와 make의 관계를 이용하여 make 테이블의 outputnum 컬럼을 orderlist 테이블의 outputnum 값으로 업데이트할 수 있습니다. 이를 위해 orderlist의 num과 make의 upnum이 일치하는 경우에 make 테이블의 outputnum을 orderlist 테이블의 outputnum으로 설정하는 SQL 쿼리를 작성할 수 있습니다.

다음과 같은 SQL 쿼리를 사용할 수 있습니다:

UPDATE `chandj`.`make` m
JOIN `chandj`.`orderlist` o ON m.upnum = o.num
SET m.outputnum = o.outputnum;
이 쿼리는 다음과 같은 단계로 이루어집니다:

make 테이블과 orderlist 테이블을 upnum과 num을 기준으로 조인합니다.
make 테이블의 outputnum 컬럼을 orderlist 테이블의 outputnum 값으로 업데이트합니다.
이 쿼리를 실행하면 make 테이블의 outputnum 값이 orderlist 테이블의 outputnum 값으로 업데이트됩니다.

make테이블의 outputnum을 전체 null로 하고 다시 하고 싶다.

make 테이블의 outputnum 값을 모두 NULL로 초기화한 후, 다시 orderlist 테이블의 outputnum 값으로 업데이트하는 두 단계의 쿼리를 작성할 수 있습니다.

먼저 make 테이블의 outputnum 값을 모두 NULL로 설정합니다.
그 다음에 orderlist 테이블의 outputnum 값을 make 테이블로 업데이트합니다.
다음은 이 두 단계를 수행하는 SQL 쿼리입니다:

-- Step 1: Set all outputnum values in make table to NULL
UPDATE `chandj`.`make`
SET `outputnum` = NULL;

-- Step 2: Update outputnum in make table based on orderlist table
UPDATE `chandj`.`make` m
JOIN `chandj`.`orderlist` o ON m.upnum = o.num
SET m.outputnum = o.outputnum;
이 쿼리들을 순차적으로 실행하면 make 테이블의 outputnum 값이 먼저 NULL로 초기화되고, 그 다음에 orderlist 테이블의 outputnum 값으로 업데이트됩니다.

실제 해보니 되네요~ 굿~

반응형
댓글