【发布时间】:2021-11-19 12:24:02
【问题描述】:
这里是绝对的 SQL 初学者:
我有一个表“学生”,其中包含“id”(主键)、“名称”和“标记”列。
我现在正在尝试为一些学生添加分数。只需使用多个 UPDATE 语句,例如
UPDATE students SET mark = 4.1 WHERE id = 1;
UPDATE students SET mark = 1.8 WHERE id = 2;
UPDATE students SET mark = 2.7 WHERE id = 3;
UPDATE students SET mark = 3.5 WHERE id = 4;
...and so on
似乎相当乏味和劳动密集型。使用 MS SQL 执行此类操作的最简单、最优雅的方法是什么?
【问题讨论】:
-
mark的值从何而来? -
您添加的是行,而不是列。但更大的问题是您的架构有缺陷。 “分数”不是学生的直接属性。相反,它们是学生在特定时间学习特定课程的属性。
-
如果您的数据在 excel 表中,您可以使用如下公式轻松编写代码:[="UPDATE students SET mark = "&B1&" WHERE id = "&A1&";" ]。 “A”列代表您的 ID,“B”列代表标记。然后复制/粘贴你的 sql
标签: sql sql-server sql-update