📄 行列转换+判断大小过滤.txt
字号:
4. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号
题目2
问题描述:
已知关系模式:
S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
5. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩
create table #sc (SNO int ,CNO int ,SCGRADE int)
insert into #sc select 1,1,50
insert into #sc select 1,2,60
insert into #sc select 1,3,55
insert into #sc select 2,1,50
insert into #sc select 3,2,50
insert into #sc select 3,1,50
insert into #sc select 4,1,70
insert into #sc select 4,2,50
insert into #sc select 3,1,90
/*转换CNO*/
create table #sc1 (SNO int ,CNO varchar(8) ,SCGRADE int)
insert into #sc1 select SNO,'CNO'+cast(CNO as varchar(5)),SCGRADE from #sc
/*查询*/
declare @sql Nvarchar(4000)
select @sql=''
select @sql=@sql+','+quotename(CNO,N'''')+'=sum(case CNO when '+quotename(CNO,N'''')+' then SCGRADE else 0 end)' from #sc1 group by CNO
exec('select SNO,CNO1,CNO2 from '+'(select SNO'+@sql+'from #sc1 group by SNO) aa where CNO1>CNO2')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -