基于数据库中的成绩表:成绩(学号,课程名,成绩),用sql语句写出只选修一门的学成的学号、课程名、成绩。
[quote]在sqlsever2000中试过了,提示错误是“列名 'k' 无效。” [/quote]
select xh,kc,cj ,count(kc)as k from t_cj group by xh having k=1
在mysql 测试通过! 仔细检查下下! 标准sql ! 呵呵
SqlServer用的不多!
select 学号,课程名,成绩,count(课程名) as k from 成绩表 group by 学号 having k=1
试试看!
你的学号这一列是不是唯一的?
[quote]你的学号这一列是不是唯一的?[/quote]
个人猜测不唯一!
或者这么试试:
select 学号,课程名,成绩 from 成绩表 group by 学号 having count(课程名)=1
[quote]题目上也没有说是唯一的,我认为学号不能是唯一的,因为学生选多门课的情况很常见,我觉得成绩表的主键应该是“学号、课程名”的联合主键 [/quote]
:idea: 貌似想的和你一样!
[quote]我也测试了,在mysql中是可以的,但是子sqlserver2000中还是提示“列名 'k' 无效。” [/quote]
还有这事! 你把sql 贴一下! 我这边跑一下! :arrow:
用这个select 学号,课程名,成绩 from 成绩表 group by 学号 having count(课程名)=1 还提示错误?