0
나는이 쿼리가 :조건에 따라 여러 열을 업데이트하는 방법은 무엇입니까?
UPDATE user
SET reputation = reputation +
(CASE id WHEN :op THEN 2
WHEN :user THEN 15
END)
WHERE user in (:user, :op)
을 그리고 또한 CASE()
기능의 이러한 조건을 기반으로 한 번 더 열을 업데이트 할. 현재 다른 쿼리를 통해이 작업을 수행합니다.
UPDATE user
SET fee = fee +
(CASE id WHEN :op THEN (SELECT SUM(op_val) FROM money WHERE id = :post_id)
WHEN :user THEN (SELECT SUM(user_val) FROM money WHERE id = :post_id)
END)
WHERE user in (:user, :op)
위의 두 쿼리의 조건은 동일합니다. 이들을 어떻게 혼합하여 하나의 쿼리로 만들 수 있습니까?
좋은 눈을 .. 또한 당신을 한 – stack
.. 감사 두 번째 질의에서'user'를'id'로 대체해야합니다 * (당신이 말한대로) * – stack