永发信息网

SQL语句求教

答案:6  悬赏:10  手机版
解决时间 2021-08-24 21:27
  • 提问者网友:不爱我么
  • 2021-08-24 02:36

在数据库中存在学生成绩表score如下

class

name

num

语文

张三

60

数学

李四

70

英语

王二

80

语文

周公

50

 

如何通过SQL语句,得到如下显示结果

name

语文

数学

英语

张三

60

null

null

李四

null

70

null

王二

null

null

80

周公

50

null

null

最佳答案
  • 五星知识达人网友:轮獄道
  • 2021-08-24 02:58

SELECt [NAME],
SUM(CASE CLASS WHEN '语文' THEN NUM ELSE 0 END) AS 语文,
SUM(CASE CLASS WHEN '数学' THEN NUM ELSE 0 END) AS 数学,
SUM(CASE CLASS WHEN '英语' THEN NUM ELSE 0 END) AS 英语


FROM SCORE
GROUP BY [NAME]

全部回答
  • 1楼网友:零点过十分
  • 2021-08-24 06:55

SELECt [NAME],
MAX(CASE CLASS WHEN '语文' THEN NUM ELSE 0 END) AS 语文,
MAX(CASE CLASS WHEN '数学' THEN NUM ELSE 0 END) AS 数学,
MAX(CASE CLASS WHEN '英语' THEN NUM ELSE 0 END) AS 英语

FROM SCORE
GROUP BY [NAME]

  • 2楼网友:刀戟声无边
  • 2021-08-24 06:14

你是不是给的题目有问题哦! 

  • 3楼网友:一秋
  • 2021-08-24 04:49

create table w (  a varchar(10),  b varchar(10),  c int ) insert w values('语文','张三',80) insert w values('数学','李思',80) insert w values('英语','王二',80) insert w values('语文','周公',80)

select b,'语文'=(select c from w where a='语文' and w.b=k.b),'数学'=(select c from w where a='数学' and w.b=k.b),'英语'=(select c from w where a='英语' and w.b=k.b) from w as k

  • 4楼网友:野慌
  • 2021-08-24 04:40

在查询框中打上

use 该数据库名

select * from score

执行一下就好了,不知道你是否是这个意思,如果解决不了,请追问

  • 5楼网友:不甚了了
  • 2021-08-24 03:23
select * form score
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯