첫번째 업데이트문
UPDATE
member
SET
state = '1'
type = '1'
WHERE idx IN(1,2,3,4);
두번째 업데이트문
UPDATE
member
SET
state = '2'
type = '2'
value = '3'
WHERE idx IN(5,6,7,8);
이런식의 두가지 업데이트문이 있습니다.
두번 실행하려니 조금 아쉬운느낌이 들어서 .. 방법이 있을지 ..궁금합니다.
by 신이만든짝퉁
[2016.08.12 15:00:32]
UPDATE
member
SET
state = case when idx in (1,2,3,4) then '1'
when idx in (5,6,7,8) then '2'
end
type = case when idx in (1,2,3,4) then '1'
when idx in (5,6,7,8) then '2'
end
value = case when idx in (5,6,7,8) then '3' else value end
WHERE idx IN(1,2,3,4,5,6,7,8);
이렇게 해보세요~
by 지침
[2016.08.15 13:10:03]
감사합니다 ^^
by 탱
[2016.08.18 17:15:34]
질문이 있는데요~
VALUE 부분에서 첫번째 업데이트문에 대해서는 UPDATE를 수행하지 않는데
쿼리가 합쳐지면서 IN(1,2,3,4)인 경우 같은 값으로 UPDATE를 수행하게 하셨는데
이 경우에 불필요한 UPDATE가 수행되는거 같습니다. 혹시 저 부분을 없앨 수 있는 방법이 있을까요?
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.