여러 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';
식으로 쿼리문 끝나고 ;을 붙이시면 됩니다.
내용상 업데이트 되어야 하는 항목이 달라서 한쿼리로 하실수 없을듯 합니다. ^^;;
답변을 작성하시기 전에 로그인 해주세요.