问题描述
基于数据库中的成绩表:成绩(学号,课程名,成绩),用sql语句写出只选修一门的学成的学号、课程名、成绩。 问题补充:7454103 写道
解决方案
引用在sqlsever2000中试过了,提示错误是“列名 'k' 无效。” select xh,kc,cj ,count(kc)as k from t_cj group by xh having k=1在mysql 测试通过! 仔细检查下下! 标准sql ! 呵呵SqlServer用的不多!
解决方案二:
用这个select 学号,课程名,成绩 from 成绩表 group by 学号 having count(课程名)=1 还提示错误?
解决方案三:
引用我也测试了,在mysql中是可以的,但是子sqlserver2000中还是提示“列名 'k' 无效。” 还有这事! 你把sql 贴一下! 我这边跑一下!
解决方案四:
引用题目上也没有说是唯一的,我认为学号不能是唯一的,因为学生选多门课的情况很常见,我觉得成绩表的主键应该是“学号、课程名”的联合主键 貌似想的和你一样!
解决方案五:
或者这么试试:select 学号,课程名,成绩 from 成绩表 group by 学号 having count(课程名)=1
解决方案六:
引用你的学号这一列是不是唯一的? 个人猜测不唯一!
解决方案七:
你的学号这一列是不是唯一的?
解决方案八:
select 学号,课程名,成绩,count(课程名) as k from 成绩表 group by 学号 having k=1 试试看!
时间: 2024-10-01 10:46:39