0

我正在为在线大学管理系统生成定制报告并严重卡在这里,

我有一个名为 say 的主表report,它有 10 行,即卷号为 1 到 10 的学生。属性是rollname并且cs101[这是主题代码,使用默认值 0 创建]。

我有另一个表说each_subject_cs101字段roll和。但它可能不是所有 10 名学生都在这里注册,比如 8 名学生在那里(用卷 1 到 8 .. 使其更简单)。namemarks

现在我想要更新reportset cs101= marksfromeach_subject_cs101那些在each_subject_cs101. 这一切都在一个单一的更新声明中。

注意:roll no 字段是两个表的主键

MySQL 中的查询将是什么?

[PS:实际上所有上述结构都更复杂并且是动态创建的。我在这里使用别名使其更简单]

4

1 回答 1

1
UPDATE report r, each_subject_cs101 escs 
SET r.cs101 = escs.marks
WHERE r.roll = escs.roll

UPDATE report r
JOIN each_subject_cs101 escs
    ON escs.roll = r.roll
    SET r.cs101 = escs.marks;
于 2013-04-07T15:48:52.840 回答