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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
여러 update 쿼리를 하나로 만들면 어떻게 하면 해주면 좋을까요

QA

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

답변 3

본문

여러 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';

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로