我从post表中获取了此查询中的ID(要更新的行),这些ID作为grade table中的行,我想将一个var设置为1,将此数组中的其他ID设置为0,并保留等级表中的休息行保持不变:
SELECT ID FROM posts
WHERE post_parent = ''
AND post_status IN ( '')
AND post_type = ''
我想学习如何更新成绩表,如上所述。谢谢!
答案 0 :(得分:1)
您可以使用此解决方案:
UPDATE grade g
JOIN post p ON g.id = p.id
AND p.post_parent = $parent_id
AND p.post_status = $post_status
AND p.post_type = $post_type
SET g.grade = CASE WHEN g.id = $id THEN 1 ELSE 0 END