输入banner图图片脚本导航/分类

SQL B表按照A表ID求和排序

/*      

        create table 学生表(

        学号 nvarchar(100) null,

        姓名 nvarchar(100) null)

        

        create table 成绩表(

         学号 nvarchar(100) null,

        科目 nvarchar(100) null,

        成绩 decimal(10,1) null

        )

        

        insert into 学生表 values(‘101‘,‘张三‘)

        insert into 学生表 values(‘104‘,‘李四‘)

        insert into 学生表 values(‘107‘,‘王五‘)

        insert into 学生表 values(‘111‘,‘任六‘)

        

        insert into 成绩表 values(‘101‘,‘语文‘,90)

        insert into 成绩表 values(‘101‘,‘数学‘,91)

        insert into 成绩表 values(‘101‘,‘英语‘,92)

        insert into 成绩表 values(‘101‘,‘政治‘,93)

        

        insert into 成绩表 values(‘104‘,‘语文‘,96)

        insert into 成绩表 values(‘104‘,‘数学‘,70)

        insert into 成绩表 values(‘104‘,‘英语‘,80)

        insert into 成绩表 values(‘104‘,‘政治‘,92)

        

        insert into 成绩表 values(‘107‘,‘语文‘,70)

        insert into 成绩表 values(‘107‘,‘数学‘,100)

        insert into 成绩表 values(‘107‘,‘英语‘,90)

        insert into 成绩表 values(‘107‘,‘政治‘,98)

        

        insert into 成绩表 values(‘111‘,‘语文‘,97)

        insert into 成绩表 values(‘111‘,‘数学‘,90)

        insert into 成绩表 values(‘111‘,‘英语‘,99)

        insert into 成绩表 values(‘111‘,‘政治‘,99)        

        */

        select A.姓名

        ,(select B.成绩 from 成绩表 B where B.科目=‘语文‘ and A.学号=B.学号) as 语文

        ,(select B.成绩 from 成绩表 B where B.科目=‘数学‘ and A.学号=B.学号) as 数学

        ,(select B.成绩 from 成绩表 B where B.科目=‘英语‘ and A.学号=B.学号) as 英语

        ,(select B.成绩 from 成绩表 B where B.科目=‘政治‘ and A.学号=B.学号) as 政治

         ,(select SUM(B.成绩) from 成绩表 B where A.学号=B.学号) as 总成绩

        from 学生表 A order by 总成绩 DESC

 

查询结果:

技术分享

SQL B表按照A表ID求和排序

标签: