SQL的一个问题
建一个重修课程表,将需要重修(成绩低于60分的)的信息添加在该表中。(表结构为:课程号、学号,分数)使用命令任意。原表:表名称:选修列名称:课程号,学号,成绩create...
建一个重修课程表,将需要重修(成绩低于60分的)的信息添加在该表中。(表结构为:课程号、学号,分数)使用命令任意。
原表:表名称:选修
列名称:课程号,学号,成绩
create table deptage(课程号 char,学号 smallint,成绩 smallint)
insert into deptage(课程号,学号,成绩)
select 课程号,学号,成绩
from 选课
where 成绩<60
group by 课程号
这个是错误的,请问应该如何更改? 展开
原表:表名称:选修
列名称:课程号,学号,成绩
create table deptage(课程号 char,学号 smallint,成绩 smallint)
insert into deptage(课程号,学号,成绩)
select 课程号,学号,成绩
from 选课
where 成绩<60
group by 课程号
这个是错误的,请问应该如何更改? 展开
展开全部
我建议你的表名,列名都是用英文的。
注意大小写
你的代码是先建的deptage表,然后应该插入数据,用的insert 语句。没见你添加数据。from 后面的表名是源表名。应该是deptage。
create table deptage(courseId char,studentId smallint,score smallint)
go
use deptage
insert into deptage
(courseId ,studentId ,score )
values('数据','数据','数据') //数据自己写
go
use deptage
insert into ABC // ABC是你的新表,目标表名
select courseId ,studentId ,score
from deptage
where 成绩<60
注意大小写
你的代码是先建的deptage表,然后应该插入数据,用的insert 语句。没见你添加数据。from 后面的表名是源表名。应该是deptage。
create table deptage(courseId char,studentId smallint,score smallint)
go
use deptage
insert into deptage
(courseId ,studentId ,score )
values('数据','数据','数据') //数据自己写
go
use deptage
insert into ABC // ABC是你的新表,目标表名
select courseId ,studentId ,score
from deptage
where 成绩<60
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有分组函数为什么要group by
create table deptage(课程号 char,学号 smallint,成绩 smallint)
insert into deptage(课程号,学号,成绩)
select 课程号,学号,成绩
from 选课
where 成绩<60
create table deptage(课程号 char,学号 smallint,成绩 smallint)
insert into deptage(课程号,学号,成绩)
select 课程号,学号,成绩
from 选课
where 成绩<60
更多追问追答
追问
这样显示的:
消息 8152,级别 16,状态 2,第 2 行
将截断字符串或二进制数据。
语句已终止。
请问这个怎么办?
==============================
再执行就显示:
消息 2714,级别 16,状态 6,第 1 行
数据库中已存在名为 'deptage' 的对象。
追答
你建表和insert语句分开执行 先执行
create table deptage(课程号 char,学号 smallint,成绩 smallint)
如果没有问题 确定你这样查能查到结果
select 课程号,学号,成绩
from 选课
where 成绩<60
如果能查到
insert into select不加字段名 对应好就好
insert into deptage select 课程号,学号,成绩
from 选课
where 成绩<60
我看你这个应该是建表没问题 你确保这个字段类型(课程号 char,学号 smallint,成绩 smallint)
和选课表对应的字段类型一样
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将截断字符串或二进制数据。
这个是你插入的数据大于你字段定义的长度,
注意一个汉字是占两位的
char 我记得默认是1个还是2个字节,应该定义为char(10)
这个是你插入的数据大于你字段定义的长度,
注意一个汉字是占两位的
char 我记得默认是1个还是2个字节,应该定义为char(10)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你又没有聚集函数干嘛写group by去掉group by,或者你要是想分组就这样
select 课程号,min(学号),min(成绩) from 选课 where 成绩<60 group by 课程号。
select 课程号,min(学号),min(成绩) from 选课 where 成绩<60 group by 课程号。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先MS SQL和MySQL在语法上就有很大的不一样,转移的话,工作量很大,甚至有可能相当于你将这个游戏的一半重写一遍的量。所以建议不要考虑迁移了。一般来说更换数据库的话,都是大公司的项目在不得以的情况下才做的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询