0
是否可以使用子查詢更新多行的多個字段?使用子查詢更新多行的多個字段
cdu_user_progress:
------------------------------------------
|id |lesson_id |game_id |score |duration |
------------------------------------------
|1 |1 |0 |50 |2500 |
|1 |1 |1 |75 |2500 |
|1 |2 |0 |0 |10000 |
|1 |3 |0 |25 |1000 |
|1 |3 |1 |25 |40000 |
|1 |3 |2 |90 |3000 |
|1 |4 |0 |50 |5000 |
------------------------------------------
cdu_user_progress2
------------------------------------------
|id |lesson_id |game_id |score |duration |
------------------------------------------
|1 |1 |0 |0 |0 |
|1 |1 |1 |0 |0 |
|1 |2 |0 |0 |0 |
|1 |3 |0 |0 |0 |
|1 |3 |1 |0 |0 |
|1 |3 |2 |0 |0 |
|1 |4 |0 |0 |0 |
------------------------------------------
也許這樣的事情?
UPDATE cdu_user_progress2
SET
score = sq.score,
duration = sq.duration
FROM (
SELECT
up.lesson_id AS lesson_id,
up.game_id AS game_id,
up.score AS score,
up.duration AS duration
FROM
cdu_user_progress up
) sq
WHERE
lesson_id = sq.lesson_id AND
game_id = sq.game_id
我已經簡化爲這篇文章的目的,表和查詢,但原理是一樣的...
任何幫助表示讚賞!