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

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

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

답변을 작성하시기 전에 로그인 해주세요.
전체 1
© SIRSOFT
현재 페이지 제일 처음으로