如何根据另一个表中的值更新列?

时间:2012-08-30 03:18:48

标签: mysql

如果他们的ID与另一个表中选择的ID匹配,我想更新成绩表中的一些变量$grade

SELECT ID
FROM posts
WHERE post_parent = %d, $parent_id

使用我从上述查询中获得的ID,现在,如何更新此成绩表中的成绩列中的变量?

ID  | user_id  | grade

最好是将两个步骤合二为一 - 在一个代码中获取ID并更新成绩。

3 个答案:

答案 0 :(得分:2)

UPDATE grade AS g
       INNER JOIN post p
               ON g.id = p.id
SET    g.grade = 'your-intended-grade'
WHERE  p.post_parent = $parent_id

答案 1 :(得分:2)

您可以使用 INNER JOIN

尝试以下代码

UPDATE a
SET grade ='your value' FROM grade a
INNER JOIN posts b ON a.id = b.id
WHERE b.post_parent = $parent_id

答案 2 :(得分:0)

Update grades SET grade = ? 
WHERE ID IN (SELECT ID FROM posts WHERE post_parent = ?)