programing

마리아 표의 여러 열을 업데이트하는 방법DB

shortcode 2022. 10. 5. 21:35
반응형

마리아 표의 여러 열을 업데이트하는 방법DB

MariaDB를 사용하고 있습니다.SELECT different table에서 두 컬럼을 업데이트하려고 합니다.

UPDATE User U
SET 
    U.UserPoint = (
        SELECT  ((SELECT COUNT(*) 
                FROM CARD_COMM R
                WHERE R.Card_ID = C.Card_ID) * 3
                +
                (SELECT COUNT(*)
                FROM SECTION_CARD_LIKE L
                WHERE L.Card_ID = C.Card_ID) * 1) as userPoint
                FROM CARD C WHERE C.userid = U.userid ORDER BY userPoint DESC limit 1 )

이것은 효과가 있다

UPDATE User U
SET 
    (U.UserPoint, U.Card) = (
        SELECT  ((SELECT COUNT(*) 
                FROM CARD_COMM R
                WHERE R.Card_ID = C.Card_ID) * 3
                +
                (SELECT COUNT(*)
                FROM SECTION_CARD_LIKE L
                WHERE L.Card_ID = C.Card_ID) * 1) as userPoint,
                C.Card_ID as card
                FROM CARD C WHERE C.userid = U.userid ORDER BY userPoint DESC limit 1 )

하지만 이 복용량은...

이거 어떻게 해요?제발 도와주세요...

다중 테이블 업데이트 사용:

UPDATE User
    JOIN ( SELECT userid, up_value, card_value ... ) AS x
        ON x.userid = User.userid
    SET User.UserPoint = x.up_value,
        User.Card = x.card_value;

(up_value & card_value에 적합한 표현/서브쿼리 등)

사용자에서 모든 행을 업데이트하고 있습니까?

언급URL : https://stackoverflow.com/questions/40037583/how-to-update-multiple-columns-from-different-table-of-mariadb

반응형