데이터베이스의 2개의 테이블에서 첫번째 테이블 참고하여 두번째 테이블의 값을 넣는 방법

데이터베이스의 2개의 테이블에서 첫번째 테이블 참고하여 두번째 테이블의 값을 넣는 방법

QA

데이터베이스의 2개의 테이블에서 첫번째 테이블 참고하여 두번째 테이블의 값을 넣는 방법

본문

데이터베이스의 테이블이 data1과 data2가 있을 경우, 홈페이지 상에서 문의를 진행하게 되면,

data1과 data2에 같이 데이터가 쌓이도록 진행하고 있습니다.

 

여기에서 data1에 필드 save를 추가하고, data2에 필드 cont를 추가하여 data1의 save필드에

"확인","미확인"이 찍히도록 구현하였는데, data1에서 확인일 경우 data2의 cont에 "수립"이찍히고 미확인일 경우, "요망"이라고 찍히도록 sql UPDATE문을 구현하고 싶은데, 참고할 자료가 있을까요?

 

data1의 테이블

number name memo save
1 일길동 1구역 미확인
2 이길동 2구역 확인
3 삼길동 3구역 확인
4 사길동 4구역 확인
5 오길동 5구역 미확인

 

 

data2의 테이블

number name memo cont
1 일길동 1구역  
2 이길동 2구역  
3 삼길동 3구역  
4 사길동 4구역  
5 오길동 5구역  

 

 


$sql = "
        UPDATE
            database.data2
        SET
            cont = '수립'
        WHERE
            number = '2'
        ";

 

이런식으로 data2의 number가 2인 데이터의 cont값을 "수립"으로 강제로 바꾸는건 알겠는데, 위 질문처럼 두개의 테이블에서 number가 같은 데이터를 기준으로 바뀌는 방법을 확인하고 싶습니다.

이 질문에 댓글 쓰기 :

답변 3

UPDATE [테이블명1] A INNER JOIN [테이블명2] B
ON A.[조인할 컬럼명] = B.[조인할 컬럼명]
SET [변경할 컬럼명] = 변경할값
( WHERE 절 )

위를 참고하셔서 적용하시면 됩니다.

ON절에서 A.number = B.number 를 했을 경우,

WHERE절에서는
A.save = "확인" 이렇게 들어가면 맞을까요? WHERE이 좀 헷갈리네요...ㅎ

위질문에 맞게 진행할 경우,


UPDATE
            data1 A INNER JOIN data2 B
ON 
            A.number = B.number
SET
            B.cont = '수립'
WHERE
            A.save = '확인'

이렇게가 맞을지 하네요 ㅠㅠ

data1의 테이블을 이렇게 만들면 어떨까요?

number name memo save cont
1 일길동 1구역 미확인  
답변을 작성하시기 전에 로그인 해주세요.
전체 196
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT