写sql查询语句---高手请进
发布网友
发布时间:2022-04-09 20:47
我来回答
共5个回答
热心网友
时间:2022-04-09 22:17
if object_id('tempdb..#1') is not null drop table #1
SELECT S.Sno as 'Sno',
S.Sname as 'Sname',
S.Ssex as 'Sse',
S.Sage as 'Sage',
S.Sdept as 'Sdept',
SC.Cno as 'Cno',
SC.Grade as 'Grade',
C.Cname as 'Cname',
'Ccredit' = CASE WHEN SC.Grade >=60 then C.Ccredit ELSE 0 END
INTO #1
FROM Student S
LEFT JOIN SC SC ON SC.Sno = S.Sno
LEFT JOIN COURSE C ON C.Cno = SC.Cno
SELECT SELECT S.Sno as '学号',
S.Sname as '姓名',
S.Ssex as '性别',
S.Sage as '年龄',
S.Sdept as '系名',
SUM(S.Ccredit) as '学分'
FROM #1 S
GROUP BY S.Sno, S.Sname, S.Sex, S.Sage, S.Sdept
drop table #1
热心网友
时间:2022-04-09 23:35
我懂了 这样就可以了 你试试
1.先将三张表按照 Sno 和 Cno 的对应关系连接起来
2. 使用CASE语句 当成绩及格(>60) 得到学分 否则为0
3. 按照学号(Sno) 分组.
select Student.Sno,Sname,SUM(case when Grade<60 then 0 else Ccredit end) as totalGrade FROM SC JOIN Student ON(Student.sno = SC.sno) JOIN Course ON(SC.sno = Course.sno) GROUP BY Student.Sno;
热心网友
时间:2022-04-10 01:09
select Sname,SUM(case when Grade<60 then 0 else Grade end) as totalGrade FROM Student LEFT JOIN SC ON(Student.sno = SC.sno) GROUP BY Sname;
热心网友
时间:2022-04-10 03:01
莫非lz的数据库原理教材也是丁宝康,董健全编写的那本??
热心网友
时间:2022-04-10 05:09
select sname,sum(case when sc.grade<60 then 0 else course.credit end) as totalCredit from student,sc,course where sc.sno=student.sno and sc.cno=course.cno and student.sno=123
其中123是学生某个的学号,由于sno是唯一确定一个学生的标识,所以用学号做查询条件。
SQL高手请进
left join (select * from C WHERE C.TMP=3) AS C3 ON C1.A1=A表.a1 为了直观起见,请您自已将下面的语句原封不动地替换到上面的三个C。(select count(1) from 表B B where B.B1=表B.B1 AND B.B2<=表B.B2) FROM 表B) C 还是给出最终语句吧,替换后是这样的:SELECT A表.*,...
sql高手请进(如何实现两表的替换)
nomanland 回答是对的,这是经常遇到的连表更新,主要是在from关键字后面使用多个表,并且在where关键字中使用多个表的连接条件,具体的SQL语句是:update 表2 set 列2=表1.列2 from 表1,表2 where 表1.列1=表2.列1 试过没问题的,呵呵,希望能有帮助,^_^ ...
SQL 排序问题,高手请进
查询语句是 select top 5 id from tb where id>=a or id=1 这句的条件就是id=2或id>=2,那输入的结果,肯定就是1.2.3.4.5啊,不是说你写在后面了,他就最后执行啊,你需要了解他的执行顺序啊,如果你想要这样的结果,我怕是1句sql语句不能搞定,我学艺不精,要是我写,只能写procdur...
SQL数据库问题,高手请进select A B C
A代表着表attendbase、B代表着表:V_AB_VHMODS!A.hmid=B.hmid的意思是A表和B表的联结条件!
sql server 高手请进 怎么将“一个表”复制到另一台电脑
1)select max(grade)as 最高成绩,avg(grade)as 平均成绩 from sg 2)select sname from student where (sname like '赵%'and sdept='计算机')3)insert into student values('05020','丁莉','女',17,'计算机系')4)delete from sg where sno in (select sno from student where sdept='...
怎么写sql语句来计算相同字段值的个数呢。sql高手请进
你都写上了,,,select goods_id,count(1) as count from sdb...group by goods_id order by goods_id
sql数据库高手请进,我要查询 地址列 包含 江苏 这两个字的行筛选出来...
SELECT * FROM 表名 where 地址 like '%江苏%'
sql 数据库 触发器问题 高手请进...
应该是先插入 member表 后插入 infomation 所以 要在 on infomation CREATE TRIGGER tr_member ON infomation FOR INSERT AS insert into memberinfo(userid,password,email,level,point)select t1.userid,t1.password,t1.email,t2.level,t2.point from inserted t1, infomation t2 where t1.userid=...
经典SQL 问题,高手请进! Top 10% 的查看
select b.* from (select rownum as rn,a.* from (select * from hy_student order by score desc) a) b where b.rn<= (select count(*) from hy_student)/10 解答详情见:网页链接
SQL数据库几个题目,100分悬赏!高手请进!
1、 select eno, ename,age from emp where job_title=‘高级’ and gender=1 2、∏eno, ename,age (φjob_title=‘高级’ and gender=1 (emp))注:其中的∏表示投影,φ表示选择.4、create index 索引名 on emp (eno)5、select dept.dname ,count(emp ....