괴발개발 성장기

Study/Mysql

[MySQL] 조인 해서 업데이트 시키기

지니유 2023. 8. 3. 08:48
반응형

# 배경 

기부, 기부상태, 기부영수증 3개의 테이블을 조인해서 기부날짜 보고 기부영수증 상태 업데이트 하기

# donations 테이블

id member_id donation_date status deleted_at
  회원아이디 기부날짜 기부상태  

 

# statuses 테이블

id status receipt_available
  기부상태 기부영수증가능

 

# donor_receipts 테이블

donation_id status
  기부영수증상태

 

# 문법

update [테이블명1] a inner join [테이블명2] b on a.[조인된컬럼] = b.[조인된컬럼]
set b.[컬럼명] = 변경할값
WHERE 조건;

 

# 예시

UPDATE donor_receipts 
	INNER JOIN donations on donor_receipts.donation_id = donations.id
	INNER JOIN statuses on donations.status = statuses.status
set donor_receipts.status='Completed'
where donor_receipts.status='Applied'
	and donation_date >= '20210101'
	and donation_date <='20211231'
	and receipt_available=true;

나는 3개의 테이블을 조인해서 업데이트 시켰다.

select 문에서 조인해서 검색하는 것처럼 하면 된다.

 


신입때 적어 놓은 기록!

반응형