首页 > 试题广场 >

假设有张学生成绩表(tb_scores)如下,请写出合理的S

[问答题]

假设有张学生成绩表(tb_scores) 如下:

FName FCourse FScore

汪明 语文 74

汪明 数学 83

汪明 物理 93

赵倩 语文 72

赵倩 数学 84

赵倩 物理 94

 

请写出合理的SQL 得到如下结果:

姓名 语文 数学 物理

…… …… …… ……

汪明 74 83 93

赵倩 72 84 94

SELECT FName,
 (CASE FCourse WHEN'语文' THEN FScore ELSE 0 END) 语文,
 (CASE FCourse WHEN'数学' THEN FScore ELSE 0 END) 数学, 
 (CASE FCourse WHEN'物理' THEN FScore ELSE 0 END) 物理 
 FROM tb_scores GROUP BY FName
发表于 2015-04-10 18:02:08 回复(0)
select FNmae,FScore from tb_scores group by FName
发表于 2015-05-13 17:11:20 回复(0)
select * from ( select * from tb_scores ) a pivot (max(FScore) for FCourse in ( '语文','数学','物理')) b;
发表于 2016-09-27 10:33:28 回复(0)
SELECT FName ,
max(case when FCourse = '语文 ' then '物理 ' end), 
max(case when FCourse = '数学 ' then '物理 ' end), 
max(case when FCourse = '物理 ' then '物理 ' end)
FROM `tb_scores `
group by FName ;
发表于 2015-06-12 14:41:46 回复(0)