5
回答
sql语句问题,希望大神看一下,很快
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
在Score表中添加列“成绩段”,将score<60的同学显示为不及格。 这样写可以吗:alter table Score add 成绩段varchar(20), update Score set 成绩段='不及格’ where score<60, 求指教,谢谢!
<无标签>
举报
ycs199339
发帖于2年前 5回/166阅
共有5个答案 最后回答: 2年前
SELECT *, CASE WHEN score < 60 THEN '不及格' ELSE '及格' END AS 成绩段 FROM Score



这样可以不用修改表结构,如果长期需要的话可以建立视图

用你问题中所写的方法只有才执行SQL的时候才会写入成绩段的值,而且不能动态更新

引用来自“骨二”的评论

SELECT *, CASE WHEN score < 60 THEN '不及格' ELSE '及格' END AS 成绩段 FROM Score



这样可以不用修改表结构,如果长期需要的话可以建立视图

用你问题中所写的方法只有才执行SQL的时候才会写入成绩段的值,而且不能动态更新

好厉害,谢谢啊!

引用来自“骨二”的评论

SELECT *, CASE WHEN score < 60 THEN '不及格' ELSE '及格' END AS 成绩段 FROM Score



这样可以不用修改表结构,如果长期需要的话可以建立视图

用你问题中所写的方法只有才执行SQL的时候才会写入成绩段的值,而且不能动态更新

引用来自“ycs199339”的评论

好厉害,谢谢啊!
在数据库里建立一个视图,业务代码直接从这个视图里查询数据

视图+1,这种需求不要建字段去存储,否则你修改成绩得同时改两个字段。

就跟那个经典的范例: 如果要显示一个人的年龄的话,那么数据库存储的应该是这个人的出生日期,而不是专门建一个age字段(否则你每天得跑定时任务去update整个表)

顶部