关于数据库中,表中行与列的转换?
有一个表A,其中的字段有→name、subject、point,有一组数据→张三、语文、80;左边的转换成→字段为:姓名、语文、数学、物理张三、数学、75;张三、80、7...
有一个表A, 其中的字段有→name、subject、point ,
有一组数据→张三、语文、80 ; 左边的转换成→ 字段为:姓名、语文、数学、物理
张三、数学、75; 张三、80、75、90
张三、物理、90;
该怎么做给出sql 语句 谢谢了! 展开
有一组数据→张三、语文、80 ; 左边的转换成→ 字段为:姓名、语文、数学、物理
张三、数学、75; 张三、80、75、90
张三、物理、90;
该怎么做给出sql 语句 谢谢了! 展开
1个回答
展开全部
SELECT name,
SUM(CASE subject WHEN '语文' THEN point ELSE 0 END) AS 语文,
SUM(CASE subject WHEN '数学' THEN point ELSE 0 END) AS 数学,
SUM(CASE subject WHEN '物理' THEN point ELSE 0 END) AS 物理
FROM 表A GROUP BY name
SUM(CASE subject WHEN '语文' THEN point ELSE 0 END) AS 语文,
SUM(CASE subject WHEN '数学' THEN point ELSE 0 END) AS 数学,
SUM(CASE subject WHEN '物理' THEN point ELSE 0 END) AS 物理
FROM 表A GROUP BY name
追问
SUM(CASE subject WHEN '语文' THEN point ELSE 0 END) AS 语文
这句话什么意思?
谢谢!
追答
意思是汇总这个名字下的所有科目为语文的记录的成绩。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询