여러 update 쿼리를 하나로 만들면 어떻게 하면 해주면 좋을까요

여러 update 쿼리를 하나로 만들면 어떻게 하면 해주면 좋을까요

QA

여러 update 쿼리를 하나로 만들면 어떻게 하면 해주면 좋을까요

본문

여러 update 쿼리를 나눠서 하지 않고 한번에 하려면 어떻게 해주는게 좋을까요?

조언 좀 부탁드립니다~^^

 


update AAA set totalprice = '1000' 
where (1)
    and amount = 1 
    and shoe = 0 
    and registdate > '2023-09-01 00:00:00'

update AAA set totalprice = '1500' 
where (1)
    and amount = 1 
    and shoe = 1 
    and registdate > '2023-09-01 00:00:00'

update AAA set totalprice = '2000' 
where (1)
    and amount = 2 
    and salad_amount = 0 
    and registdate > '2023-09-01 00:00:00'

update AAA set totalprice = '2500' 
where (1)
    and amount = 2 
    and salad_amount = 1 
    and registdate > '2023-09-01 00:00:00'

이 질문에 댓글 쓰기 :

답변 3

UPDATE AAA
SET totalprice = 
    CASE 
        WHEN amount = 1 AND shoe = 0 THEN '1000'
        WHEN amount = 1 AND shoe = 1 THEN '1500'
        WHEN amount = 2 AND salad_amount = 0 THEN '2000'
        WHEN amount = 2 AND salad_amount = 1 THEN '2500'
        ELSE totalprice
    END
WHERE
    registdate > '2023-09-01 00:00:00';

조건과 값이 다 다른거라서 여러번 따로 하는게 맞으실거 같습니다. 그냥 한줄로 하고 싶으신거면 

update AAA set totalprice = '2000' 
where (1)
    and amount = 2 
    and salad_amount = 0 
    and registdate > '2023-09-01 00:00:00';

update AAA set totalprice = '2500' 
where (1)
    and amount = 2 
    and salad_amount = 1 
    and registdate > '2023-09-01 00:00:00';

식으로 쿼리문 끝나고 ;을 붙이시면 됩니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 1,543
QA 내용 검색

회원로그인

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